Skip to main content
Numbers in DATALYR not matching ad platforms, Shopify, or analytics tools? This guide explains common discrepancies and why they occur.

Why Discrepancies Happen

Different Tracking Methods: Each platform tracks data differently, causing natural variation. Common Reasons:
  • Attribution windows differ
  • Deduplication logic varies
  • Time zones not aligned
  • Tracking method differences (client vs server)
  • View-through vs click-through attribution
  • Data processing delays
Expectation: 5-15% variance is normal. Larger discrepancies need investigation.

DATALYR vs Ad Platforms

Meta Ads Discrepancies

DATALYR Shows More Conversions: Causes:
  1. Attribution Window Difference:
    • DATALYR: 30-day default
    • Meta: 7-day click, 1-day view
  2. View-Through Attribution:
    • DATALYR: Click attribution only
    • Meta: Includes view-through conversions
  3. Multi-Touch Attribution:
    • DATALYR: Last-click attribution
    • Meta: Can credit multiple touchpoints
Fix: Compare apples-to-apples:
  • Meta: Use 7-day click window (remove view-through)
  • DATALYR: Filter conversions attributed to Meta within 7 days
Meta Shows More Conversions: Causes:
  1. Pixel and CAPI Duplication: Both Meta Pixel and DATALYR CAPI installed, conversions counted twice. Check: Meta Events Manager → Diagnostics → Deduplication status Fix: DATALYR automatically deduplicates. If seeing duplicates, verify event_id consistency.
  2. Offline Conversions: Meta may count offline conversions DATALYR doesn’t track.
  3. Attribution Model: Meta using multi-touch attribution instead of last-click. Fix: Meta Ads → Attribution settings → Select “Last-click” model
Revenue Mismatch: Causes:
  1. Currency Conversion: Different exchange rates or timing.
  2. Refunds: DATALYR tracks refunds, Meta may not.
  3. Value Mapping: Conversion Rule mapping wrong field (order total vs item total).
Fix: Verify Conversion Rule maps revenue field correctly:
datalyr.track('purchase', {
  revenue: 99.99,  // Must match order total
  currency: 'USD'
});
DATALYR Shows More Conversions: Causes:
  1. Attribution Window:
    • DATALYR: 30-day default
    • Google: 30-day default (configurable)
  2. Conversion Counting:
    • DATALYR: Every conversion
    • Google: One conversion per click (default)
    Fix: Google Ads → Conversions → Conversion action → Counting → Select “Every”
  3. Enhanced Conversions Not Matched: User data doesn’t match Google’s records. Fix: Include email/phone in conversions:
    datalyr.track('purchase', {
      revenue: 99.99,
      email: '[email protected]'
    });
    
Google Shows More Conversions: Causes:
  1. Multiple Conversion Actions: Google counting multiple conversion types, DATALYR tracking one.
  2. View-Through Conversions: Google includes view-through, DATALYR doesn’t. Fix: Google Ads → Conversions → Filter by “Click conversions only”
  3. Cross-Device Tracking: Google tracks across devices, DATALYR session-based.
Revenue Mismatch: Causes:
  1. Tax/Shipping Included: Google may include tax/shipping, DATALYR tracking subtotal. Fix: Ensure consistent value tracking (include or exclude tax/shipping in both).
  2. Conversion Value Source:
    • Google: Using default value
    • DATALYR: Using actual transaction value
    Fix: Verify Google conversion action uses “transaction-specific value” not default.

TikTok Ads Discrepancies

DATALYR Shows More Conversions: Causes:
  1. Attribution Window:
    • DATALYR: 30-day default
    • TikTok: 28-day click
  2. Pixel Delay: TikTok pixel may not fire on all conversions.
TikTok Shows More Conversions: Causes:
  1. View-Through Attribution: TikTok includes impressions, DATALYR click-only.
  2. Duplicate Tracking: Both TikTok Pixel and DATALYR sending events. Fix: Remove TikTok Pixel, use DATALYR only. Or keep both (DATALYR deduplicates).

DATALYR vs Shopify

DATALYR Shows Fewer Orders: Causes:
  1. Order Status: DATALYR syncs “paid” orders only, Shopify shows all (including pending). Fix: Shopify: Filter orders by “Paid” status
  2. Tracking Not on Checkout: DATALYR script not installed on checkout pages. Fix: See Shopify Checkout Tracking
  3. Draft Orders: Shopify includes draft orders, DATALYR doesn’t.
DATALYR Shows More Orders: Unlikely. If occurring:
  1. Duplicate events (check Event Stream for duplicates)
  2. Multiple workspaces tracking same store
Revenue Mismatch: Causes:
  1. Refunds: DATALYR may include refunds, Shopify net revenue excludes them.
  2. Discounts: Different handling of discount codes.
  3. Time Zone: Shopify and DATALYR using different time zones. Fix: Settings → Workspace Settings → Set timezone to match Shopify

DATALYR vs Stripe

DATALYR Shows Fewer Payments: Causes:
  1. Event Type: DATALYR syncs charge.succeeded only, Stripe shows all charge attempts.
  2. Failed Payments: Stripe includes failed attempts, DATALYR only successful.
  3. Refunds: Stripe net includes refunds, DATALYR gross.
Revenue Mismatch: Causes:
  1. Fees:
    • Stripe: Shows gross before fees
    • DATALYR: Also tracks gross (fees separate)
  2. Currency: Different currency conversion timing/rates.
MRR Mismatch: Causes:
  1. Baseline Not Set: First sync captures current MRR, future changes calculated from baseline. Fix: Integrations → Stripe → Reset MRR Baseline
  2. Subscription Intervals: Mixed intervals (monthly, annual, quarterly). Verify: Annual subscriptions divided by 12 correctly.
  3. Canceled Subscriptions: Stripe may include canceled (still active), DATALYR depends on status.

DATALYR vs Google Analytics

Different Visitor Counts: Why:
  • GA: Counts sessions and users differently
  • DATALYR: Visitor-based tracking
  • GA: Includes bot traffic (sometimes)
  • DATALYR: Filters bot traffic
Different Pageview Counts: Causes:
  1. SPA Tracking: GA may not track all SPA navigation, DATALYR does (if enabled).
  2. Ad Blockers: Block GA more aggressively than DATALYR.
  3. Sampling: GA samples data for high-traffic sites, DATALYR doesn’t.
Conversion Tracking: GA and DATALYR track conversions differently. Compare event counts in Event Stream vs GA Events.

Time Zone Issues

Problem: Reports show different conversion counts for same day. Cause: Platforms using different time zones. Fix: Set Consistent Timezone:
  1. DATALYR: Settings → Workspace Settings → Timezone
  2. Ad Platforms: Account settings → Timezone
  3. Shopify: Settings → General → Timezone
  4. Stripe: Settings → Account settings → Timezone
Use UTC: For consistency across platforms, consider using UTC everywhere.

Attribution Model Differences

Different Attribution Logic: DATALYR:
  • Default: Last-click attribution
  • 30-day attribution window
  • Click-based (no view-through)
Meta:
  • Configurable: Last-click, first-click, linear, time decay, etc.
  • 7-day click, 1-day view default
  • Includes view-through
Google:
  • Configurable: Data-driven, last-click, first-click, linear, time decay
  • 30-day click, 1-day view default
  • Cross-device tracking
To Compare: Use same attribution model across platforms:
  • Set all to “Last-click”
  • Use same attribution window
  • Disable view-through conversions

Data Processing Delays

Real-Time vs Delayed: DATALYR:
  • Events: Real-time (seconds)
  • Conversions: Real-time
  • Reports: Real-time
Meta:
  • Events: Real-time in Events Manager
  • Conversions: Up to 24 hours in Ads Manager
  • Reports: Lag varies
Google:
  • Conversions: 3+ hours typical
  • Reports: 24-48 hours for final numbers
TikTok:
  • Events: Real-time in Events Manager
  • Conversions: Up to 24 hours
  • Reports: Lag varies
When Comparing: Use recent data from DATALYR, wait 24-48 hours for ad platform data finalization.

Deduplication Differences

DATALYR Deduplication:
  • 7-day window
  • Based on event properties (order ID, transaction ID)
  • Prevents same conversion sent multiple times
Platform Deduplication:
  • Meta: event_id deduplication (pixel + CAPI)
  • Google: Click ID and conversion timestamp
  • TikTok: event_id deduplication
Result: Platforms may deduplicate differently than DATALYR, causing count variance.

Sampling

DATALYR: No sampling. All events tracked and reported. Google Analytics: Samples data above 500K sessions/day. Ad Platforms: Generally no sampling, but may aggregate at campaign level.

Bot Traffic

DATALYR: Filters obvious bot traffic automatically. Other Platforms:
  • Shopify: Includes some bot traffic
  • Google Analytics: Bot filtering optional
  • Ad platforms: Generally filter bots
Result: DATALYR may show slightly fewer events due to aggressive bot filtering.

Currency Conversion

Multiple Currencies: If tracking multiple currencies, conversion rates differ across platforms. DATALYR: Uses conversion rate at time of event. Ad Platforms: Use conversion rate at time of report viewing. Result: Revenue mismatch if comparing reports at different times. Fix: Track single currency (convert before sending to DATALYR):
const revenueUSD = convertToUSD(revenueLocal, currency);
datalyr.track('purchase', {
  revenue: revenueUSD,
  currency: 'USD'
});

Acceptable Variance

Normal Ranges:
  • Event counts: 5-10% variance acceptable
  • Conversion counts: 10-15% variance acceptable
  • Revenue: 5% variance acceptable
Investigate If:
  • Variance >20% consistently
  • Sudden unexplained changes
  • One platform showing zero data

Debugging Discrepancies

Step 1: Identify Timeframe: When did discrepancy start? Recent or always? Step 2: Check Setup:
  • Tracking installed correctly?
  • Integrations connected?
  • Conversion Rules configured?
Step 3: Compare Same Metrics:
  • Use same date range
  • Use same timezone
  • Use same attribution model
  • Use same currency
Step 4: Check Sample Size: Low traffic can show high variance percentage. Step 5: Account for Known Differences: Review causes above (attribution windows, view-through, etc.)

Tools for Comparison

Event Stream: View raw event data to verify tracking working. Conversion Rules: Check postback status to verify sent to platforms. Platform Debugging:
  • Meta: Events Manager → Diagnostics
  • Google: Conversions → Status
  • TikTok: Events Manager → Events

When to Worry

Red Flags:
  • Zero conversions in ad platform but events in DATALYR
  • 50%+ discrepancy consistently
  • Revenue off by >20%
  • Sudden drop or spike in one platform only
Normal:
  • 5-15% variance
  • Small number differences
  • Variance decreases over time as data accumulates

Still Seeing Large Discrepancies?

Contact Support: Email [email protected] with:
  • Platform comparison (DATALYR vs what)
  • Date range compared
  • Specific metric (conversions, revenue, etc.)
  • Screenshots of both platforms
  • Workspace ID
Include:
  • Same date range in both platforms
  • Same timezone
  • Any filters applied

Next Steps