The Flicker Defender gear can help prevent flicker caused by the rendering of personalized content (Templates/Campaigns) served by the Marketing Cloud Personalization platform.
Flicker Defender helps prevent flicker by doing the following.
- Initially hides every content zone that has a
selectorby temporarily applying the
visibility: hidden !importantstyle to elements targeted by that
- Each hidden content zone is then redisplayed depending on:
- If it is not targeted by a Template/Campaign for which the user has qualified
- Upon resolution of the Template/Campaign targeting it
- When the
- If a page is not matched or if the Sitemap errors, all hidden content zones are redisplayed following the
While there is no limit for either of the timeout values, it is advised to stay under 10000 ms (10 seconds). Additionally, ensure that
pageMatchTimeout is less than or equal to the
redisplayTimeout ultimately decides when to reshow all hidden content.
For Flicker Defender to work correctly, ensure you meet the following requirements.
- A synchronously integrated Beacon in the
headof the site is a strict requirement for Flicker Defender to work correctly.
- A working sitemap is necessary for Flicker Defender to work correctly and efficiently. For information on writing a Sitemap, see the Web Integration documentation.
- At least one Content Zone with a
selectorattribute. (Note that it is the developer's responsibility to ensure that the CSS selector used is valid.)
pageMatchTimeout controls the maximum length of time to wait for a page to be successfully matched before reshowing all hidden content
redisplayTimeout controls the maximum length of time that content should ever be hidden.
Depending on the namespace you're using, calls to
setRedisplayTimeout must be done before the call to either
- By design, Flicker Defender does not run in the Template or Campaign Editors.
- Depending on the SDK namespace you're using, ensure that you call
- When injecting or forcing the Web SDK URL using the Salesforce Interactions SDK Launcher browser extension, you are simulating an asynchronous implementation of the product. Therefore, at least a small amount of Flicker always appears when injecting or forcing a Web SDK onto the page.