Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.upstackdata.com/llms.txt

Use this file to discover all available pages before exploring further.

Quick Diagnostic

Start here: Small discrepancies (5–15%) between Upstack and other platforms are expected and normal. Every analytics platform uses different attribution models, lookback windows, and counting methods. This guide helps you understand why numbers differ and when a discrepancy signals an actual problem.

Symptoms and Fixes

Likely cause: Upstack and Meta use different attribution models. Meta defaults to 7-day click / 1-day view attribution, meaning it credits a conversion to an ad if the user clicked within 7 days or viewed within 1 day. Upstack uses a last-touch model by default, which credits the most recent touchpoint regardless of platform.How to reconcile:
  1. Understand that these are fundamentally different measurements — neither is “wrong.”
  2. In your Upstack dashboard, go to Analytics → Attribution and note which model is active (last-touch, first-touch, or linear).
  3. In Meta Ads Manager, click Columns → Customize and check the Attribution setting at the bottom. Note the click and view windows.
  4. Common reasons Upstack shows more conversions than Meta:
    • Upstack attributes organic and direct conversions that Meta doesn’t claim.
    • Meta’s attribution window may have expired for some conversions.
  5. Common reasons Upstack shows fewer conversions than Meta:
    • Meta uses view-through attribution — Upstack’s last-touch model won’t credit an ad the user only saw but didn’t click.
    • Meta may attribute the same conversion to multiple campaigns (especially with overlapping audiences).
  6. For the closest comparison, set Meta to 7-day click only (disable view-through) and compare with Upstack’s last-touch model.
Likely cause: Differences in how revenue is calculated — Shopify reports gross revenue including taxes and shipping by default, while Upstack reports the Purchase event value as sent by the pixel, which typically reflects the cart subtotal.How to reconcile:
  1. In Shopify admin, go to Analytics → Reports and export the order data for the time range you’re comparing.
  2. Note whether Shopify includes taxes, shipping, discounts, and refunds in the total.
  3. In Upstack, the Purchase event captures the value property from the checkout. This usually equals the cart subtotal before tax and shipping.
  4. To compare accurately:
    • Shopify gross revenue minus taxes minus shipping should approximate Upstack’s reported revenue.
    • If you’ve configured Upstack to include tax/shipping in the event value, the numbers should be closer.
  5. Refunds also cause drift — Shopify retroactively adjusts revenue, while Upstack records the purchase at the time it occurred. Check Events → Purchase and filter by the date range to see the raw event values.
Likely cause: Timezone mismatch between platforms. If Upstack, Meta, and Google Analytics use different reporting timezones, a conversion at 11 PM EST may appear on different calendar days depending on each platform’s setting.How to reconcile:
  1. Check your Upstack reporting timezone: go to Settings → Workspace and note the timezone.
  2. Check Meta Ads Manager: go to Ad Account Settings and note the timezone.
  3. Check Google Analytics: go to Admin → Property Settings and note the timezone.
  4. Align all platforms to the same timezone for the most accurate comparison. In Upstack, you can change the reporting timezone under Settings → Workspace (this only affects how data is displayed, not how it’s collected).
  5. When comparing, always specify the exact same date range in UTC or use the same local timezone across all tools.
Likely cause: Deduplication differences. Upstack and destination platforms use different deduplication keys. Upstack deduplicates by event_id before forwarding, but the destination may further deduplicate by user + event type + time window.How to reconcile:
  1. A gap of 5–10% is normal and expected due to deduplication differences.
  2. Check Upstack’s Live Event Stream — if you see duplicate event_id values, your pixel may be firing the same event multiple times (see Duplicate Events).
  3. For Meta specifically: if you send both browser pixel events and Upstack server events for the same conversion, Meta deduplicates them using event_id. Ensure your Upstack events include the same event_id as the browser pixel fires.
  4. For Google Analytics: GA4 automatically deduplicates events with the same event_name, event_timestamp, and user identifiers within a short window. This means GA4 may show fewer events than Upstack.
  5. To reduce discrepancies, ensure deduplication keys are consistent across your pixel and Upstack’s server-side events.

Escalation

If you’re seeing discrepancies greater than 20% consistently, collect the following before contacting support:
  • Your Pixel ID and the platforms you’re comparing (e.g., Meta Ads Manager, GA4, Shopify)
  • The date range and timezone for each platform’s report
  • Screenshots of the numbers from each platform for the same period
  • The attribution model and lookback window configured in each platform

Still stuck? Contact support@upstackdata.com with your Pixel ID and a description of the issue. We typically respond within a few hours.

Attribution and reporting

Understand how Upstack attributes conversions across marketing touchpoints.

Attribution reporting

Explore Upstack’s attribution reporting dashboard and multi-touch models.