Expand my Community achievements bar.

SOLVED

DTM: Writing Custom Condition for Page Load Rule

Avatar

Level 3

I can't seem to find any documentation on the form that the custom script needs to be written for conditions on the page load rule. I'm trying to write a page load rule for my error page to set the pageType=error page. The rule is not loading at all from what I can tell. When I put the code from the condition into my console, I can see that my variable "myBool" fires as true, so my code is correct (I think!)

For the condition, I am basing it on our H1 tag to identify the page (triggered at bottom of page):

is404 = function () {

    var myBool = false;
    var myH1 = document.getElementsByClassName("hero-title")[0].innerHTML.toString();
    if (myH1 == "The information you are trying to access has moved." ) {
        myBool = true;
    }
    return myBool;

}
is404();

 

Then in the rule portion for Adobe Analytics, I am setting the custom page code to:

var s= window.s||s;
s.pageType=errorPage;

1 Accepted Solution

Avatar

Correct answer by
Employee

When using Custom Script in a Rule Condition, you need to return (boolean) true when you want the Rule to fire.  Try this:

var myH1 = document.getElementsByClassName("hero-title")[0].innerHTML.toString(); if (myH1 == "The information you are trying to access has moved." ) { return true; }

View solution in original post

4 Replies

Avatar

Level 5

Could missing quotes around errorPage be causing the problem? 

Avatar

Level 3

Added quotes, but no luck :( It still isn't firing. Thanks for the suggestion!

Avatar

Level 3

Does anyone have any examples of code they've written in the custom code section of the conditions? I want to make sure I've written the true statement correctly.

Avatar

Correct answer by
Employee

When using Custom Script in a Rule Condition, you need to return (boolean) true when you want the Rule to fire.  Try this:

var myH1 = document.getElementsByClassName("hero-title")[0].innerHTML.toString(); if (myH1 == "The information you are trying to access has moved." ) { return true; }