Expand my Community achievements bar.

SOLVED

Load the rule when cookie exists

Avatar

Level 2

Hello All,

How i can fire the rule when there is a cookie exists using Adobe DTM?

Thanks,

1 Accepted Solution

Avatar

Correct answer by
Level 6

Hi Krishna,

To fire the rule when there is a cookie exists using Adobe DTM,

Please modify BOLD text from the below JS code as per your requirement and post in the "Customize Page Code" editor and also tick the Check box for Enable EU compliance for Adobe Analytics from the General settings

var loadRule = true;

var ck = getCookie('cookiename');

    if(ck=='cookievalue'){

        loadRule = false;

    }

return loadRule;

function getCookie(cname) {

  var name = cname + "=";

  var decodedCookie = decodeURIComponent(document.cookie);

  var ca = decodedCookie.split(';');

  for(var i = 0; i <ca.length; i++) {

    var c = ca[i];

    while (c.charAt(0) == ' ') {

      c = c.substring(1);

    }

    if (c.indexOf(name) == 0) {

      return c.substring(name.length, c.length);

    }

  }

  return "";

}

Refer the screen shots below

Capture1.0.JPG

Capture1.1.JPG

Capture1.2.JPG

Hope this helps

Regards,

Kumararaja K

View solution in original post

2 Replies

Avatar

Employee

You may need to write a custom code in the condition of the rule which will check if the cookie exist then return 'true' which will allow the rule to fire else return 'false'.

Avatar

Correct answer by
Level 6

Hi Krishna,

To fire the rule when there is a cookie exists using Adobe DTM,

Please modify BOLD text from the below JS code as per your requirement and post in the "Customize Page Code" editor and also tick the Check box for Enable EU compliance for Adobe Analytics from the General settings

var loadRule = true;

var ck = getCookie('cookiename');

    if(ck=='cookievalue'){

        loadRule = false;

    }

return loadRule;

function getCookie(cname) {

  var name = cname + "=";

  var decodedCookie = decodeURIComponent(document.cookie);

  var ca = decodedCookie.split(';');

  for(var i = 0; i <ca.length; i++) {

    var c = ca[i];

    while (c.charAt(0) == ' ') {

      c = c.substring(1);

    }

    if (c.indexOf(name) == 0) {

      return c.substring(name.length, c.length);

    }

  }

  return "";

}

Refer the screen shots below

Capture1.0.JPG

Capture1.1.JPG

Capture1.2.JPG

Hope this helps

Regards,

Kumararaja K