Data Discrepancy Between GA4 and AMP
Understand why discrepancies may exist between GA4 and AMP data and learn how to mitigate these differences.
-
Why don’t GA4 and AMP data match exactly?
1.1 Google Data Processing Window
1.2 Session Deduplication
1.3 The role of utm_id - Recommended Metrics for Lower Variance
- Immediate Actions to Minimize Differences
- Frequently Asked Questions
- Additional references
Why don’t GA4 and AMP data match exactly?
It is common to observe variations between Google Analytics 4 and Adsmurai Marketing Platform. This is not a measurement error, both tools are built on different architectures and designed for different purposes.
Understand the 3 main reasons behind these differences and how to minimize their impact on your reporting.
1. Google Data Processing Window (up to 30 days)
Google Analytics 4 does not finalize data immediately. It can take up to 30 days to fully consolidate conversions, attribution, and sessions.
| Timeframe | Data Status | Reliability |
|---|---|---|
| Today | Provisional | ⚠️ Low |
| 7 days | Partially consolidated | ✅ Medium |
| 30 days | Final | ✅ High |
How AMP handles this:
- We retrieve daily “snapshots” to ensure fast data visualization
- We automatically refresh data from 1, 2, 7, 15, and 30 days ago
- Each refresh incorporates Google’s latest adjustments
Practical impact:
If you check “yesterday’s” data today and then review it again next week, it will likely change slightly. This is expected and reflects Google’s data consolidation process.
2. Session De-duplication: Unique Users vs Historical Aggregation
This is one of the most common causes of discrepancies between GA4 and AMP.
How each platform works:
| Aspect | GA4 (Interface) | AMP |
|---|---|---|
| Data source | Real-time data with user context | Pre-aggregated historical data |
| When breaking down by dimension | De-duplicates sessions by unique user | Sums all available sessions |
Example:
- User A → 1 session in GA4 (even if they had 3 visits)
- User A → 3 sessions in AMP (direct sum of visits)
What this means in practice:
Real scenario:
A user visits your website 3 times in one day from the same Facebook campaign.
- GA4: Filtering by “Facebook Campaign” shows 1 session (user-level de-duplication)
- AMP: Shows 3 sessions (sum of all visits)
Why does this happen?
- GA4 has access to unique user identifiers in real time and applies de-duplication dynamically
- AMP works with historical, dimension-aggregated data, meaning it sums sessions without user-level context
Is this an issue?
No, both perspectives are valid:
- GA4: Best for understanding reach and unique users
- AMP: Better for measuring traffic volume and cumulative campaign impact
3. Campaign Matching: The Role of utm_id
To match a GA4 session with a specific paid media campaign, AMP requires a reliable unique identifier.
Mandatory requirement:
Full example for Meta (Facebook/Instagram):
This structure includes:
campaign.id: Campaign IDadset.id: Ad set IDad.id: Ad ID
Common scenarios where matching fails:
| Scenario | Result in AMP |
|---|---|
| utm_id not configured | ⚠️ Session not attributed |
| Incorrect campaign ID | ⚠️ Match failure |
| Campaign paused (no spend that day) | ⚠️ Not shown in Paid Media reports |
| Ad format without dynamic fields | ⚠️ ID not available |
What can you do?
Campaign attribution accuracy depends directly on correct utm_id configuration. Make sure that:
- ✅ All new campaigns include a utm_id
- ✅ The format follows the recommended structure
- ✅ Dynamic parameters (
, etc.) are correctly implemented in the ad platform - ✅ Legacy campaigns have been audited and updated if needed
💡 Recommended Metrics for Lower Variance
If you need more consistency between GA4 and AMP, consider alternatives to sessions:
| Metric | GA4 vs AMP Variance | Recommended Use Case |
|---|---|---|
| Users | ⚠️ Lower variance | Audience reach, unique users |
| New Users | ✅ Very low variance | New user acquisition |
| Engaged Sessions | ✅ Very low variance | Traffic quality, user engagement |
| Sessions | ⚠️ Higher variance | Total traffic volume (with caveats) |
Why are these metrics more stable?
-
Users / New Users: Based on unique identifiers, making de-duplication more consistent across platforms
-
Engaged Sessions: Defined by GA4 using strict criteria (≥10s duration, conversion, or 2+ pageviews), reducing aggregation ambiguity
Recommendation:
For client-facing performance reports where consistency is key, prioritize Engaged Sessions or New Users over total sessions. This reduces perceived discrepancies while maintaining analytical value.
🎯 Immediate Actions to Minimize Differences
| Priority | Action | Owner |
|---|---|---|
| 🔴 High | Ensure all campaigns have utm_id configured using the full format | Marketing Services Team |
| 🔴 High | Audit active campaigns and update utm_id if outdated formats are used | Marketing Services Team |
| 🟡 Medium | Use data with ≥7 days of maturity for finalized reporting | Analyst |
| 🟡 Medium | Prioritize Engaged Sessions or New Users in client reports | Marketing Services Team |
| 🟢 Low | Set expectations with clients (5–15% variance is normal) | Customer Success |
❓ Frequently Asked Questions
Is a 5–10% discrepancy a concern?
No. Differences up to 10–15% are expected due to the factors explained above. Variances above 20% should be investigated.
What should I use for client reporting?
- Daily optimization → AMP data (more up-to-date, aligned with spend)
- Monthly/quarterly reports → Consolidated data (≥7 days old)
- User analysis → Users or New Users (higher consistency)
- Traffic quality → Engaged Sessions (highly stable across platforms)
How do I identify the freshest data?
In AMP, you can check the latest data extraction timestamp in the data source sync section.
Can I update utm_id formats in active campaigns?
Yes, but historical data will retain the previous format. New data will follow the updated structure. For consistency, we recommend updating all active ad sets.
Which metric should I use for conversion reporting?
It depends on your objective:
- E-commerce → Use specific conversion metrics (purchase, add_to_cart) with lower variance
- Lead generation → Use custom conversion events configured in GA4
- Engagement analysis → Combine Engaged Sessions with conversion events for a complete view
📚 Additional References
UTM configuration guide to ensure GA4 data is correctly reflected in AMP