Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards

Page load rule not firing in normal browser but works in Incognito

Avatar

Level 2

Hi Team,

We recently moved one web page to AEMaaCS from AMS while rest of the pages are server from AMS environment, we used Akamai redirects to handle this scenario because we want to migrate page wise instead of whole website at once.

The issue which we see now on the web page which is rendering from AEMaaCS, the analytics call on page load is not fired in a normal browser but works fine only in Incognito or In-Private windows.

We are caching HTML, CSS and Client Libs JS at CDN, but we have explicitly excluded ACDL and Launch URLs from CDN cache.

/etc.clientlibs/core/wcm/components/commons/datalayer/acdl/core.wcm.components.commons.datalayer.acdl.lc-bf921af342fd2c40139671dbf0920a1f-lc.min.js

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

7 Replies

Avatar

Level 2

The event configured for page load is Adobe Client Data Layer - Data Pushed.

Is this causing some problem? Should we another appropriate event from Core extension?

Avatar

Community Advisor

Hi @SrikanthPo3 , 

 

The problem you’re facing is primarily due to browser-level caching/local storage conflicts rather than an inherent issue with your ACDL setup.

 

Keep your current event type ("Adobe Client Data Layer - Data Pushed"). This event is correct and recommended practice.

 

Add an additional safety condition to ensure the event is always fired after ACDL JS loads.

 

Example of a robust Launch rule setup (recommended):

 

Component Configuration
Event: Adobe Client Data Layer - Data Pushed (Keep as-is)
Condition (Optional but helpful): Custom Code (JavaScript condition) to verify ACDL is available: return typeof adobeDataLayer !== "undefined";
Action: Adobe Analytics: Send Beacon (standard practice)

 

This extra check ensures your rule won't fail silently if ACDL isn't loaded timely.

 

Recommendations:

  • Clear browser cache (Hard reload & cookie clear)
  • Double-check CDN/Akamai caching headers/exclusions explicitly for ACDL JS and Launch URLs
  • Verify rule explicitly listens for correct ACDL event (cmp:loaded)
  • Add an optional JavaScript condition to rule in Launch to ensure adobeDataLayer is fully initialized
  • Validate dispatcher cache explicitly cleared (AEMaaCS dispatcher cache purge)

Avatar

Level 2

@SrikanthPo3 

Why it works in Incognito but not normal browser:

In most cases, this points to browser caching:

  • Even if you’ve excluded the ACDL and Launch URLs from CDN cache, browsers may still have locally cached old versions of these scripts.

  • If the browser loads an outdated or partial clientlib file, the Adobe Client Data Layer might not trigger the Data Pushed event, so your page load rule won’t fire.

Incognito mode bypasses these local caches, so everything loads fresh and works.

 

Things to check & try:

  1. Purge CDN & browser cache:

    • Invalidate the HTML and clientlibs (especially the acdl JS file).

    • Make sure the clientlib URL uses a fresh hash (it should change if code is updated).

     

  2. Confirm the template really includes the correct clientlib categories on the AEMaaCS page.

  3. Check in Dev Tools - Network tab:

    • See if the ACDL file loads correctly (200 response, not cached / missing).

    • Make sure the Launch script is loading too.

     

  4. Watch for console errors:

    • CSP, CORS, or cookie issues can silently block the data layer or Launch from initializing.

     

Hope this helps you!

 

Avatar

Level 2

Hi @Jude_Felix 

Thanks for your response.

  1. Yes, ACDL and other clientlibs has new hash after deployment.
  2. ACDL is always giving 200 statuses, so i don't see from Disk Cache or Browser Cache
  3. There are no console errors on the page.

 

Avatar

Level 2

One pattern noticed is when browser dev tools(F12) is open and reload the page, can see AEP debugger capture the analytics call but when dev tools is closed do not see the analytics call.

Avatar

Community Advisor

Hi @SrikanthPo3 

Thanks for sharing those details, this sounds like a classic timing issue between when the Adobe Client Data Layer (Data Pushed event) fires and when Launch finishes loading and starts listening for it.

Since everything works in Incognito or with Dev Tools open, it's likely that in a normal browser session, the event fires before Launch is fully initialized, so the rule never catches it.

we can check these options -

  • Add a delay or use a custom event to ensure Launch is listening before dataLayer.push() is triggered.

  • Consider switching from the "Data Pushed" event to something like "Data Layer: Component Loaded" (if applicable), which might fire later in the load sequence.

  • Or, use a direct call rule or custom event listener to trigger the rule reliably after Launch has initialized.

and, we should make sure -

  • That ACDL is loaded before the Launch script

  • No race conditions with clientlib dependencies

I hope this solves it for you.

Avatar

Level 6

It sounds like the issue is due to caching—since the analytics call works in Incognito but not in a regular browser, it's likely that the browser or CDN is serving a cached version of the page or script. To resolve this, make sure the ACDL and Launch scripts are fully excluded from CDN and browser caching using proper cache-control headers (e.g., no-store, no-cache, or short max-age). Also, verify that the correct, versioned clientlibs are being loaded and that the Adobe Launch script is initialized after the data layer is available. I’d also recommend clearing browser cache and cookies to confirm the fix works as expected. If needed, update the Akamai rules to enforce these caching behaviors more strictly.