Implementing EUGDPR in ConversionRuler

From Market Ruler Help
Jump to: navigation, search

ConversionRuler can adhere to all aspects of GDPR as instituted and enforced in EU Countries starting May 2018.

To do so requires some modifications to the standard ConversionRuler Tracking Snippets and the following requirements:

  • Web site visitors should support JavaScript
  • The <noscript> tags associated with ConversionRuler must only be presented via a server-side include code once consent is given.

Granting visitors GDPR Rights

Your privacy page or site should predominantly feature the ability for visitors to opt-out of all tracking. To do so with ConversionRuler you should add a link to your site's privacy page which allows visitors to:

  • Review their data stored in ConversionRuler
  • Request deletion of their data
  • Opt-out of further tracking

To do so, you should add a link to the MarketRuler Privacy Application found at:

If the ConversionRuler tracking snippet is installed on the same page as this link, it will be updated automatically to include the current site visitor's tracking information, if set.

Please review the instructions on the MarketRuler Privacy Application page.

Conditional inclusion of ConversionRuler tracking: JavaScript Version


  • A custom version of the ConversionRuler tracking snippet


To include ConversionRuler conditionally based on consent, a cookie must be set to a specific value. For these examples, we'll use the cookie named consent and set it to a value of 1 when the visitor consents to be tracked.

Our ConversionRuler snippet code is then:

(function (w, cc, id, q) {
    var f="; ",s='script',d=w.document,p=d.getElementsByTagName(s)[0]; 
    w.cr_load = function () {
       var n=d.createElement(s);         
       w._crq.push(function (cr) { cr.cookie(cc,1); });
       p.parentNode.insertBefore(n, p); 
   if ((d.cookie+f).indexOf(cc+"=1"+f) >= 0) { w.cr_load(); }

The above code is different in two significant ways from the standard ConversionRuler code:

  • By default, ConversionRuler tracking is not loaded
  • A new global function called cr_load is created which can be invoked immediately when consent is given.

The global function will:

  1. Load ConversionRuler and tracking code and record a landing for the page
  2. Set the consent cookie to the value 1

Conditional inclusion of ConversionRuler tracking: Non-JavaScript Version

Tracking using ConversionRuler in browsers which do not have JavaScript enabled is as straightforward as displaying the <noscript> tags conditionally when a cookie is received by the server software.


  1. A server-side scripting environment
  2. The ability to check cookies sent to the server
  3. The ability to conditionally output page HTML based on the value of the cookies sent


Using your server-side language, the code would appear as follows:

 if (isset($_COOKIE['consent']) && $_COOKIE['consent'] === '1') {
     $siteid = 'SITEID';
     echo '<noscript><div style="position: fixed; left: 0; top: 0"><img	src="${siteid}&nojs=1" alt="" width="1" height="1" /></div></noscript>';

The quick explanation is that the server-side code checks to see if the consent cookie is set, and if it is, then it outputs the <noscript> to enable tracking.

See also