Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Does target push all changes to the page and then decide which one to show?


Level 2

If there are multiple changes/activities for a location and we have a different priority for each. How would target push the changes?


If audience is same, then:

1. Target push all changes to the page and then decide which one to show/execute.

2. Target decide which one to show based on the priority and then push/execute that particular change on the page.


My team believes it is the first one. However, I believe it is the second one.


If audience is different, then:

1. Target push all changes to the page and then decide which one to show/execute.

2. Target will push all changes on the page and execute them since priority does not work across different audience group. However, since only one change (assuming it is an html change for a div or a paragraph) can show on the page at a time, the one that execute the last will show on the page.


My team believes it is the first one. However, I believe it is the second one.


Can someone please confirm?





"The priority is used if multiple activities are assigned to the same location with the same audience. If two or more activities are assigned to the location, the activity with the highest priority displays."


5 Replies


Community Advisor

Hi @arshdeepv954921 


Target returns the content for all activities on the page, beginning with the lowest-priority content, which is then overwritten by each activity, from lowest to highest priority.


In most cases, this results in the highest priority content being displayed. However, if a lower-priority activity alters the structure of the DOM for the page, it is possible that the higher-priority activity will not recognize the page structure, so the lower-priority content will be displayed. The results from all activities that run on the page are counted and reflected in the reports.

Hope this helps. 


Level 2

I think you are assuming that I'm using form based composer. However, that is not the case. I'm using visual composer. There is an option in visual composer to add custom code. It works totally different than the code put through form based composer.


Level 2

None of the activity is altering DOM structure.


Let's assume there are 10000 activities with same audience, location and all have different priority set. You mean to say target will return content for all those 10000 activities on the page starting with lowest priority and then keep on replacing it with highest priority.


Why make so many calls and waste so much memory and time. Why not simply return the content for highest priority activity? Also, won't 10000 changes slow down the page?


Why would Adobe implement it like this? When they know there is an activity with higher priority, why not return/execute the code for only the highest priority activity. What was the reason for implementing it this way?.


Level 3


Target will deliver only the top priority campaigns (within the real-time segments qualification)


Now if 3 campaigns qualify for this criteria all 3 will be delivered to the pages

Target JS will pick 1 (randomly - all campaign has same priority) to render


How do we know? If you look into target reports only you will see campaign number are higher compare to Analytic reports as target reports what campaign they deliver from server side. A4T(sdid) closes the gap by copying analytics data from server side. To get true number you have to implement analytics for the campaign impression.     



Level 2

So you mean to say if 3 campaign qualify for the criteria all three will be delivered to the page, then:


1. If all have the same priority, then target will pick 1 randomly.

2. If they all have different priority, then target will render the highest priority campaign.


However, in both the cases target will render only one campaign.



My findings:

I ran tests with 5 campaigns with same audience and different priority. In the code, I put some console logs on target render event and some other events.


They all fired in sequence as below:

Target Campaign 1 with priority 5 was rendered.

Target Campaign 2 with priority 4 was rendered.

Target Campaign 3 with priority 3 was rendered.

Target Campaign 4 with priority 2 was rendered.

Target Campaign 5 with priority 1 was rendered.


As per the priority set, target rendered campaign 5 (with highest priority) in the very last and changes from that campaign were showing on the page. However, all other campaigns were rendered as well.


Target actually replaced the content of the section selected in all those 5 campaigns (that section was same for all 5 campaigns btw) on the page 5 times.


I tested a lot of code/conditions by changing background color and more. Every single time I saw that target will render each and every campaign until it has reached:

a. the highest priority activity if the priority has been set.

b. it has executed all campaigns if the priority is not set by randomly select one campaign to show (that one campaign is always rendered at the last).



This behavior affects me because I use JS code (custom code) in my campaigns. That JS code from all my activities executes every single time. It is a mess to deal with it in case you have 30-40 campaigns running on a page.


IDK why Adobe chose to implement it this way when they could simple picky highest priority campaign and render just that particular one.