UNPKG

@ra5mus/eb-comscore

Version:

Convenience wrapper for comscore functionality

64 lines (44 loc) 3.63 kB
# eb-comscore ## How to interact with Comscore These are the main steps to perform: **1. (mandatory) Initialize and configure comscore on page load.** Normally this is done via the `<ebComscore:init />` taglib, which add a number of common parameters to the ebComscore object, including comscoreId, comscoreSite, comscoreVsite, comscoreSubVsite and comscoreString. Alternatively, call `ebComscore.initializeComscore()` and supply the needed parameters. **2. (optional) Track page view** Often done via the `<ebComscore:trackPageView />` taglib function, which generates both javascript and a `<noscript><img>` for browsers with javascript disabled. Alternatively, call `ebComscore.sendComscorePageview()` directly, and remember to handle browsers with javascript disabled. **3. (optional) Track event** Can be done via the `<ebComscore:jsForTrackingEvent />` taglib function, which generates javascript to put in ex. an onclick/onsubmit event handler. Alternatively, call one of the `comscoreEvent()` or `ebComscore.sendComscoreNonPageview()` javascript functions directly. Both options offer the opportunity to send along custom parameters to comscore. **4. (mandatory) Include comscore js before `</body>`** Normally this is done via the `<ebComscore:bottom />` taglig, right before the end `</body>` tag. Alternatively, manually include `http://b.scorecardresearch.com/c2/16785783/cs.js` at the end of the body. ## Javascript cheat-sheet Refer to the source for more information. This is just a short sample ```html <!-- include javascript --> <script src="http://ekstrabladet.dk/template/v5-6/shared/js/modules/comscore/comscore.js" type="text/javascript" /> <script src="http://ekstrabladet.dk/template/v5-6/shared/js/modules/comscore/ecommerce.js" type="text/javascript" /> <script> // initialize comscore on each page within the <head> section ebComscore.initializeComscore('16785783', 'jppol', 'ebmedier', 'ekstrabladet', { key1: 'val1', key2: 'val2' }); </script> <script> // track page view. Normally, you should supply values for le_type, le_name and le_label as parameters ebComscore.sendComscorePageview({ name: 'myname', category: 'mycat', key3: 'val3', key4: 'val4' }); </script> <!-- track deferred event (inpage=false). Useful for events involving page navigation on mobile browsers. --> <!-- Normally you should supply values for le_type, le_name and le_label. --> <a onclick="comscoreEvent(event, this, { name: 'myname', category: 'mycat', key5: 'val5' }, false);">my trigger</a> <!-- track event immidiately (inpage=true). Does usually not work on mobile browsers when navigating --> <!-- Normally you should supply values for le_type, le_name and le_label. --> <a onclick="comscoreEvent(event, this, { name: 'myname', category: 'mycat', key5: 'val5' }, true);">my trigger</a> <form onsubmit="comscoreEvent(event, this, { name: 'myname', category: 'mycat', key6: 'val6' }, true);"></form> <script> // track event immediately. Alternative to the above. // Normally you should supply values for le_type, le_name and le_label. ebComscore.sendComscoreNonPageview({ name: 'myname', category: 'mycat', key7: 'val7', key8: 'val8' }); // Create the order object, and initialize it with the base url (created by initializeComscore), customer ID and unique order ID var eComOrder = new ns_order(ebComscore.comscoreBaseUrl() + ebComscore.comscoreString, userId, orderId); // Add a line to the order, with the required fields eComOrder.addLine(productId, brandName, productGroup, shopName, 1, 0.00); // Send the order info to comscore eComOrder.sendOrder(); </script> ```