segmentio/analytics.js-integrations — pull request #455 by sperand-io (2014-11-11 09:01:36+00:00)
Title: add support for bing ads universal event tracking

tackles #454

See:
- [bing blog post](http://advertise.bingads.microsoft.com/en-us/blogpost/129483/bing-ads-blog/universal-event-tracking-a-new-and-improved-way-to-track-your-sites-activities-in-bing-ads) announcing the switch
- [How UET works](http://advertise.bingads.microsoft.com/en-us/uahelp-topic?market=en&project=Bing_Ads&querytype=topic&query=HLP_BA_CONC_UET.htm)
- [How to send goals with UET](http://advertise.bingads.microsoft.com/en-us/uahelp-topic?market=en&project=Bing_Ads&querytype=topic&query=HLP_BA_PROC_UET.htm) -- closest thing to docs.
- [snippet](https://gist.github.com/sperand-io/8bef4207e9c66e1aa83b) -- they make you create a campaign just to get it 😡. i followed its lead for `.initializeUniversal()`

Notes / things you could potentially disagree with me on :
- I'm currently defaulting `event action` parameter (used for the literal action like "click", "hover", etc) to `"track"` because I think that's semantically cleanest (`event label` has the event name).
- I've omitted the `goal value` custom param since the events have a native `event value` and I can't make heads or tails of what the GV is even for. They use it for discount values in the docs as an example... but there's no way to convey in the interface what the property is. Maybe I'm missing something?¿?

**Needs before merging**:
- [ ] **metadata updates**
- i assumed we'd add a "Use Universal Event Tracking" checkbox to upgrade to UET and a 'tagId' field to fill out when that happens
- maybe a better approach would be to add a checkbox box for "Use The Old One" [sic] that for existing users defaults to true but for new users defaults to false? @calvinfo i'll pick your brain on this tomorrow.
- [ ] documentation for how to upgrade, explanation of the differences
- The old one is like other conversion-based tools with event mappings
- Now, you set up a "tag" (tracker) in the interface, use that tagId to automatically listen on site for page loads, visit durations, etc. *All* events are sent to bing and you define goals in their interface based on page visited, duration, or custom events
- [ ] youtube video walking through how to switch / benefits etc
- [ ] perhaps some partnership efforts with bing? i think if we nail the above we can make this new system drastically easier to understand and use than they have... @samdup

@amillet89 @harrietgrace @ndhoule @yields