AD0-E409 · Question #131
Refer to the exhibit: <html> <head> <title>Client Product Page</title> <script> pageURL = document.location.pathname; var dataLayer = { page: urlPAGE; } </script> </head> <body> <!-- Client HTML -->…
The correct answer is C. Move the at.js library script and pre hiding snippet to the <HEAD>. Moving the at.js library and pre-hiding snippet to the <head> is correct because page flicker occurs when the browser renders original (un-personalized) content before Adobe Target can apply its modifications. The pre-hiding snippet works by temporarily hiding the page body…
Question
Options
- ARemove the "async" flag to load the at.js library synchronously.
- BCorrect the "page" variable assignment inside the dataLayer object.
- CMove the at.js library script and pre hiding snippet to the <HEAD>.
- DDisable async loading for at.js library in the body.
How the community answered
(25 responses)- A4% (1)
- B8% (2)
- C84% (21)
- D4% (1)
Explanation
Moving the at.js library and pre-hiding snippet to the <head> is correct because page flicker occurs when the browser renders original (un-personalized) content before Adobe Target can apply its modifications. The pre-hiding snippet works by temporarily hiding the page body until Target's changes are applied - but only if it loads before any body content is painted. In the exhibit, the pre-hiding snippet sits inside <body>, meaning content is already visible by the time it executes, making it useless against flicker.
Why the distractors fail:
- A - Removing
asyncto force synchronous loading would block rendering but degrades performance and is not Adobe's recommended fix; it also doesn't address the misplaced pre-hiding snippet. - B - The
urlPAGE/semicolon bug in thedataLayerobject is a real JavaScript error, but it's a data layer issue unrelated to Target's rendering lifecycle or flicker. - D - Disabling async in the
<body>still leaves at.js loading after body content begins rendering; placement matters more than the loading mode here.
Memory tip: Think "Head = Hide First." Both at.js and the pre-hiding snippet must live in <head> so the page is hidden before any content renders - if either one is in <body>, the content flashes before Target can replace it.
Topics
Community Discussion
No community discussion yet for this question.