Why data in ECDP and Google Analytics 4 may differ
ECDP and Google Analytics 4 (GA4) collect data independently, each with its own script. Because of that, the numbers in both tools, such as sessions or product views, don’t have to match exactly. A difference doesn’t mean that either tool counts incorrectly. This article explains where the differences come from and how ECDP counts sessions.
How each tool receives data#
When a visitor opens your website, two separate things happen:
- The GA4 tag sends events to Google Analytics.
- The ECDP tracking script sends events to ECDP.
Each tool counts only the events that actually reached it. If one script was blocked, loaded late or didn’t run, the two tools see a different set of events from the same visit.
Why the numbers may differ#
- Cookie consents and consent mode. The ECDP script and the GA4 tag can follow different consent rules in your consent management platform (CMP). For example, if the ECDP script loads regardless of the consent and the GA4 tag waits for the visitor’s decision, a visitor who declines consent, or accepts it with a delay, can be visible in ECDP and missing in GA4.
- Ad blockers and browser privacy protection. Many ad blockers and browser protections, such as Safari ITP and Firefox ETP, recognize GA4 as a tracker and block it. Requests to the ECDP domain are usually not on the same blocking lists, so they can go through even when GA4 is blocked. In the opposite situation, ECDP can be blocked while GA4 works. In either case, one tool records fewer events than the other.
- GA4 event implementation. Events such as view_item depend on how GTM and GA4 are configured on your website. If an event relies on product data passed through the dataLayer, a tag error, a delay in loading the data or an unusual type of product page can stop the event from being sent, even though the page loaded and other tools registered the visit.
- Browsers and devices. The same script can behave differently in different browsers, browser versions and devices.
- Script loading problems. A slow connection, a page that is closed before the script finishes or an error on the page can stop one script and not the other.
- Different definitions. Each tool has its own rules for what counts as a session and when a session ends. See the sections below.
How ECDP counts sessions#
A session in ECDP starts when the first valid web tracking event for a visitor and a website is processed. Loading the tracking script alone doesn’t start a session.
The first event can be, for example:
- a visit to the website,
- a visit to a product page,
- a visit to the cart page,
- a cart modification,
- a visit to the wishlist,
- an order confirmation,
- any other valid event supported by web tracking.
The following events of the same visitor belong to the same session until the idle time set for the website passes. The idle time is configured by the ECDP team for each website and is 60 minutes by default. The next event after it starts a new session.
Bounced sessions#
If a session contains only one valid event, ECDP classifies it as a bounced session and reports it separately. The main sessions counter includes only sessions with more than one valid event.
Helpful tip: In the reports, Bounced sessions refers to website sessions with a single event. It isn’t related to email bounces, which are emails that weren’t delivered, for example in Bounce rate in the email reports.
Where to see session numbers#
Go to Reports > Website insights. The report shows Total sessions, Bounced sessions and Effective sessions, together with orders, conversion rate and average order value.
Where session numbers come from#
ECDP doesn’t read the number of sessions from GA4. It calculates it from the events collected by ECDP web tracking. Sessions are first summed in hourly intervals, then into daily totals, and the daily totals make up the value shown in Billing. The daily breakdown lets you check how a given period was calculated.
Sessions in ECDP and engaged sessions in GA4#
Both metrics leave out sessions with minimal activity, but they use different rules, so their values can differ even when both tools receive the same events.
| ECDP | GA4 engaged sessions | |
|---|---|---|
| What is counted | Sessions with more than one valid web tracking event | Sessions that last longer than 10 seconds, have a key event, or have 2 or more page or screen views |
| What is left out | Sessions with a single event, reported as bounced sessions | Sessions that don’t meet any of these conditions |
| Data source | ECDP web tracking | GA4 tag on your website |
| Session end | Idle time set per website | Session timeout set in GA4 |
How to compare data from both tools#
- Compare the same date range in both tools.
- Make sure you compare matching metrics, for example sessions in ECDP with engaged sessions in GA4, not with all sessions.
- Check in your CMP whether the ECDP script and the GA4 tag follow the same consent rules.
- Open your website in a browser without extensions and check in the developer tools that both scripts load.
- If the difference is still hard to explain, contact your account manager. See the next section.
When to contact your account manager#
Some difference between ECDP and GA4 is normal. If you notice a significant difference that the causes above don’t explain, report it to your account manager. We’ll help you check it.
To speed things up, include in your message:
- the website you compared,
- the date range,
- the metric and the values from both tools,
- a screenshot of both reports, if you have one.
Does a difference mean that sessions are counted incorrectly?#
No. The tools collect data independently and each uses its own definitions, so a 1:1 match isn’t expected. The value in ECDP is the number of sessions calculated from the events that reached ECDP and were processed correctly.
Will the number in ECDP be higher or lower than in GA4?#
It can go either way. If GA4 is blocked more often, ECDP shows more events. If the ECDP script is blocked more often, GA4 shows more. The result depends on your visitors’ browsers, consents and your tag configuration.
Is billing based on GA4 data?#
No. The value used for billing is calculated by ECDP from its own web tracking data and isn’t read from GA4.
What’s next#
- Which metrics do you need for ECDP subscription pricing and product recommendations? – check the traffic of your website in GA4 before you start.
- Web Tracking – add a website and the tracking code.
- Attribution – how we assign click sources to orders – see how ECDP attributes orders.