- Create links like this easily:
http://mywebsite.com/?utm_campaign=sunday-offer&utm_source=facebook&utm_medium=cpc
- Shorten that long ugly UTM link for sharing
http://yoururlshortenerdomain/r/fwefubo443
(buy a short domain to host this app) - Track performance of each link with total clicks and unique clicks
Stack: node.js, sails.js, redis, mongoDB
Session store: redis
Database: mongoDB
- Sign up for MongoHQ and note your DB_URL with the right username and password
- Sign up for Redis (RedisToGo, RedisCloud, etc+) and note your redis endpoint and password and port
- Create a new heroku app
heroku create
- Push
git push heroku master
- Set environment variables: DB_URL, REDIS_ENDPOINT, REDIS_PORT, REDIS_PASSWORD, ROOT_URL (your domain along with http:// or https:// for eg.
http://utm.io
) - Enjoy!
heroku open
Your MongoDB URL should look like this: mongodb://<username>:<password>@troup.mongohq.com:10081/<db_name>
- Protect from mass assignment (userId field for Link, admin field for User)! (mashalling request parameters http://irlnathan.github.io/sailscasts/blog/2013/09/24/building-a-sails-application-ep17a-marshalling-request-parameters/)
- Multi-user account. A user has many accounts. An account has many users. Follow Mailchimp's model. Links belong to accounts instead of users.
- API - user, links, clicks
- Write some test!
- Improve on flash error message display
- more...
- CPA information for each campaign (Pull data through API from google adwords and facebook ads)(action here is click through, but can add sophisticated JS SDK that can be embedded on the destination site for specific goal tracking such as making a purchase, download an ebook, sign up etc+)
- multi domain
- If you're a developer, please fork away, help me out with the todos and submit pull request! Or do a code review, raise issues and leave comments. Thanks!
- If you're a marketer, you may leave ideas by raising issues.
- If you growth hack, this might be thoroughly useful, would really appreciate input, feedback and contribution!