Expand my Community achievements bar.

SOLVED

Page Load Rule: Onload/DOM Ready - No Data Sent

Avatar

Level 5

I've spent the better part of the afternoon trying to find out why my "Search Results Page" load rule isn't sending the numbers of search results to prop3.

I know my data element returns the correct number when I use "_satellite.getVar('Site Search: Number Results')" in the Console, but I suspected the source of the DE wasn't available on page load.

Changing the load rule to trigger at "Onload" or "DOM Ready" didn't help. The Console showed that the rule triggers but nothing is sent.

I created a simple experiment: Load rule with no conditions and a hard-coded prop assignment: prop5="Search LR1". I tried "Top of Page", "Bottom of Page", "DOM Ready", "Onload".

Result = Nothing sent when trigger is "DOM Ready" or "Onload".

1 Accepted Solution

Avatar

Correct answer by
Level 10

Hi Ali,

As per our understanding on the scenario mentioned by you The page load rule  is not being fired for "onload" & "DOM ready" condition . However the rule is being fired for "Top of Page", "Bottom of Page" We will suggest to debug your code by following the instructions in the below mentioned points and let us know  the outcome of the above stated debugging options so that we can further deep dive into the issue.

1. Do you see any "asyc installation" error  on the console . It is simply an alert that helps you recognize that the timing on the page is somewhat questionable and that DOMREADY has fired prior to all of the synchronous scripts loading as they should. If that happens, check to make sure that the pageBottom() callback is actually in the correct place immediately prior to the </body> tag. If not then these types of errors can occur. So please check whether the Footer code is placed just before the closing of  </body> tag or not.

2. Try to manually configure the code in Customize page code and use an s.t() call at the end of code to check again  whether the data is not being sent or not.

Thanks & Regards

Parit Mittal

View solution in original post

2 Replies

Avatar

Level 9

Hi Ali,

Have you tried using an event based rule on the click of the search with a link delay? That might give it enough time for the search to complete before the rule fires. The documentation is available here: adobe.ly/1MuDYdc

-Tacia

Avatar

Correct answer by
Level 10

Hi Ali,

As per our understanding on the scenario mentioned by you The page load rule  is not being fired for "onload" & "DOM ready" condition . However the rule is being fired for "Top of Page", "Bottom of Page" We will suggest to debug your code by following the instructions in the below mentioned points and let us know  the outcome of the above stated debugging options so that we can further deep dive into the issue.

1. Do you see any "asyc installation" error  on the console . It is simply an alert that helps you recognize that the timing on the page is somewhat questionable and that DOMREADY has fired prior to all of the synchronous scripts loading as they should. If that happens, check to make sure that the pageBottom() callback is actually in the correct place immediately prior to the </body> tag. If not then these types of errors can occur. So please check whether the Footer code is placed just before the closing of  </body> tag or not.

2. Try to manually configure the code in Customize page code and use an s.t() call at the end of code to check again  whether the data is not being sent or not.

Thanks & Regards

Parit Mittal