> ## 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.

# Troubleshooting: Attribution Numbers Don't Match

> Diagnose attribution mismatches between Upstack Data and Meta Ads Manager, Google Analytics, or Shopify caused by attribution models, lookback windows, timezones, and event deduplication.

## Quick Diagnostic

<Tip>
  **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.
</Tip>

## Symptoms and Fixes

<AccordionGroup>
  <Accordion title="Symptom: Upstack shows more (or fewer) conversions than Meta Ads Manager">
    **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.
  </Accordion>

  <Accordion title="Symptom: Revenue in Upstack doesn't match Shopify order totals">
    **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.
  </Accordion>

  <Accordion title="Symptom: Conversions are attributed to the wrong day">
    **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.
  </Accordion>

  <Accordion title="Symptom: Upstack shows higher event counts than the destination">
    **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](/troubleshooting/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.
  </Accordion>
</AccordionGroup>

## Escalation

<Warning>
  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
</Warning>

***

**Still stuck?** Contact [support@upstackdata.com](mailto:support@upstackdata.com) with your Pixel ID and a description of the issue. We typically respond within a few hours.

## Related guides

<CardGroup cols={2}>
  <Card title="Attribution and reporting" icon="chart-pie" href="/concepts/attribution-and-reporting">
    Understand how Upstack attributes conversions across marketing touchpoints.
  </Card>

  <Card title="Attribution reporting" icon="chart-bar" href="/analytics/attribution-reporting">
    Explore Upstack's attribution reporting dashboard and multi-touch models.
  </Card>
</CardGroup>
