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

# Verify your Upstack Data Shopify pixel is working

> Verify your Upstack Data pixel with Meta Pixel Helper and Events Manager: confirm events fire once with correct post-discount values, Click ID is preserved, and counts match within 5–10%.

After setting up Upstack Data, the critical next step is verification. This guide shows you exactly how to check that your pixel is firing correctly, tracking the right values, and sending accurate data to Meta.

## What you'll verify

* **Page View events** are firing and matching your actual site traffic
* **Add to Cart events** are firing once per user action (no duplicates)
* **Purchase events** are firing with correct values (post-discount)
* **Click ID is preserved** for accurate campaign attribution
* **No duplicate tracking** from competing tools
* **Real-time event flow** from your store to Meta's system

## Tool 1: Pixel Helper (real-time event checking)

Pixel Helper is Meta's official browser extension that shows all Meta pixel events firing on your site in real time.

### Install Pixel Helper

1. Open your browser and visit [Meta Pixel Helper](https://www.facebook.com/business/tools/pixel-helper).
2. Click **Add to Chrome** (or your browser).
3. Confirm the installation.
4. You'll see a new icon in your browser toolbar — click it to open Pixel Helper.

### Use Pixel Helper to check events

1. Open Pixel Helper (click the icon in your toolbar).
2. Navigate to your Shopify store (e.g., mystore.com).
3. Watch for events in real time as you act:
   * Page loads → **PageView** event should appear
   * Click a product → **ViewContent** event should appear
   * Add to cart → **AddToCart** event should appear
   * Complete purchase → **Purchase** event should appear

### What good Pixel Helper output looks like

Each event in Pixel Helper shows:

* **Event name** (PageView, ViewContent, AddToCart, Purchase)
* **Event time** (when it fired)
* **Event value** (the monetary value if applicable)
* **Click ID** (Meta's attribution ID)
* **User ID** (if available)
* **Additional properties** (product name, quantity, etc.)

Example — Purchase event:

```
Event: Purchase
Time: 2:47 PM
Value: $89.99
Currency: USD
Properties:
  - Content Name: Order #12345
  - Content Type: product
  - Content IDs: [prod_123, prod_456]
  - Quantity: 2
  - Click ID: 5a1b2c3d...
```

### Red flags in Pixel Helper

* **Duplicate events appearing** — the same event fires twice at the exact same time; you have duplicate tracking. See [Step 4](#step-4-check-for-competing-tracking).
* **Missing events** — you perform an action and no event appears; your pixel isn't firing. See [troubleshooting: pixel not firing](#troubleshooting-pixel-not-firing).
* **Value: \$0** — your bundle/discount logic may be configured incorrectly. See [Step 5](#step-5-check-bundle-and-discount-values).
* **No Click ID** — you may have a domain configuration issue. See [Step 7](#step-7-check-domain-configuration-and-click-id-preservation).

## Tool 2: Meta Events Manager (official source of truth)

While Pixel Helper shows you what's firing on your site, Meta Events Manager is where the data is actually recorded.

### Access Meta Events Manager

1. Go to [Meta Business Suite](https://business.facebook.com).
2. In the left sidebar, go to **Events Manager**.
3. Select your **Pixel** (usually named "Upstack Data" or your store name).
4. Click on the **Test Events** tab.

### Set up real-time event testing

The Test Events feature lets you see events arriving at Meta in real time (with a 5–15 second delay). The test event code tells Meta to log these events separately, so they don't affect your ad optimization or reporting.

1. Keep **Events Manager open** in one browser tab.
2. **Open another tab** and log into your [Meta Business Suite](https://business.facebook.com) (so Meta recognizes you).
3. **In a third tab**, visit your Shopify store.
4. **Perform actions** on your store (page view, add to cart, purchase).
5. **Watch Events Manager** — events should arrive within 5–15 seconds.

### What good Events Manager data looks like

| Time       | Event Name  | Event Value | Currency | Status     |
| ---------- | ----------- | ----------- | -------- | ---------- |
| 2:45:32 PM | PageView    | —           | —        | ✓ Complete |
| 2:45:45 PM | ViewContent | —           | —        | ✓ Complete |
| 2:46:12 PM | AddToCart   | \$29.99     | USD      | ✓ Complete |
| 2:48:05 PM | Purchase    | \$89.99     | USD      | ✓ Complete |

**Status = Complete** means Meta successfully received and processed the event.

### Compare Pixel Helper to Events Manager

| Data Point   | Pixel Helper                  | Events Manager | Should Match? |
| ------------ | ----------------------------- | -------------- | ------------- |
| Event count  | 10 page views                 | 10 page views  | ✓ Yes, 1:1    |
| Event values | \$89.99                       | \$89.99        | ✓ Yes         |
| Click ID     | Present                       | Present        | ✓ Yes         |
| Event names  | PageView, AddToCart, Purchase | Same names     | ✓ Yes         |

If counts differ significantly (e.g., Pixel Helper shows 10 events but Events Manager shows 5), something is blocking data flow to Meta. See [Step 8](#step-8-compare-event-counts-pixel-helper-vs-events-manager).

## Step-by-step verification process

### Step 1: Confirm basic event firing

**Objective:** Make sure your pixel is firing at all.

1. Open Pixel Helper and visit your Shopify home page.
2. Wait 2–3 seconds for the page to fully load.
3. Check Pixel Helper — you should see a **PageView** event.
4. If you see it: ✓ Good! Your pixel is firing. Continue to Step 2.
5. If you don't: see [troubleshooting: pixel not firing](#troubleshooting-pixel-not-firing).

### Step 2: Test Page View accuracy

Page views should match your actual site traffic within 5–10%.

1. In Pixel Helper, note the total **PageView** count.
2. Visit multiple pages on your store (home, product, collection, about).
3. Each page load should fire a **PageView** event.
4. Count total PageViews and note the number.

**Expected result:** If you visited 10 pages, Pixel Helper should show approximately 10 PageView events (allowing for 5–10% variance due to bot filtering or caching).

**If PageViews are significantly lower:** Your script may be set to `defer` instead of `async`, or your consent settings are blocking events. See [troubleshooting: low page views](#troubleshooting-low-page-view-counts).

### Step 3: Test Add to Cart events

Add to Cart events should fire **once per user action** (no duplicates).

1. Open Pixel Helper and clear previous events (refresh the page).
2. Add a product to your cart.
3. Look for an **AddToCart** event.
4. Expected result: exactly **1 AddToCart** event fires (not 2 or more), showing the product price (post-discount), currency, content IDs, and quantity.

**If you see duplicate AddToCart events:** see [Step 4](#step-4-check-for-competing-tracking).
**If value is incorrect:** see [Step 5](#step-5-check-bundle-and-discount-values).

### Step 4: Check for competing tracking

If Pixel Helper shows **duplicate events** (the exact same event firing twice), you likely have two tracking tools active.

**Common culprits:**

* **Google Tag Manager (GTM)** also firing the Meta pixel
* **Stape** data layer sending duplicate events
* **Triple Whale Sonar** tracking the same conversions
* **Multiple Upstack pixels** installed by accident
* **Third-party apps** (Replo, Kaching) with their own tracking

**To identify duplicates:** add a product to cart and check Pixel Helper — two AddToCart events at the same time means duplicates; one means you're clean.

**To find and fix the source:**

1. **Check GTM:** open your Shopify container in [Google Tag Manager](https://tagmanager.google.com), search for "Meta" or "Facebook", and disable any conflicting pixel tags.
2. **Check Stape:** verify it's not configured to send the same events.
3. **Check Triple Whale:** in Triple Whale settings, check if Sonar is enabled and sending pixel events.
4. **Check for multiple Upstack pixels:** in Shopify admin, go to **Settings → Customer events** and verify only one Upstack Data pixel is installed.

**To fix:** disable the duplicate source or coordinate with your analytics team to use a single pixel. Most brands choose Upstack Data as the primary pixel.

### Step 5: Check bundle and discount values

Your pixel should fire with the **final, post-discount price** — not the original price.

**Example scenario:** a product listed at $150 with a 50% discount code should fire AddToCart/Purchase with value: $75 (not \$150).

**To test this:**

1. Find a discounted product or bundle on your store and note the original and discounted prices.
2. Open Pixel Helper and add the item to cart.
3. Check the AddToCart event value:
   * ✓ Correct: shows \$75 (post-discount)
   * ✗ Wrong: shows \$150 (pre-discount)
4. Complete a purchase with the discount and check the Purchase event the same way.

**If values are wrong:** the issue is likely in your bundle or discount app configuration — see [troubleshooting: incorrect conversion values](#troubleshooting-incorrect-conversion-values).

### Step 6: Verify Purchase events and conversion values

This is the most critical event — it directly impacts your ROAS and ad optimization.

1. Add a product to cart (note the final price you'll pay) and complete checkout.
2. In Pixel Helper, look for a Purchase event and verify:
   * Event name: **Purchase**
   * Value: **exact amount you paid** (e.g., \$89.99)
   * Currency: **correct currency** (USD, CAD, etc.)
   * Content IDs: **product IDs from your order**
   * Quantity: **number of items purchased**

**If the value is wrong:** check your discount/bundle logic ([Step 5](#step-5-check-bundle-and-discount-values)) or see [troubleshooting: incorrect conversion values](#troubleshooting-incorrect-conversion-values).
**If Click ID is missing:** see [Step 7](#step-7-check-domain-configuration-and-click-id-preservation).

### Step 7: Check domain configuration and Click ID preservation

Click ID is Meta's way of attributing purchases back to ad clicks. If Click ID is missing, your ROAS reporting will be inaccurate.

**To check Click ID in events:**

1. Open Pixel Helper and click on any event (PageView, AddToCart, or Purchase).
2. Look for a field labeled **Click ID** or **fbclid**.
3. If present: ✓ Good, Click ID is being preserved.
4. If missing: ✗ You have a domain or redirect issue.

**Common Click ID issues:**

| Issue                                     | Cause                          | Fix                                                         |
| ----------------------------------------- | ------------------------------ | ----------------------------------------------------------- |
| No Click ID on any events                 | Domain configuration           | Ensure primary domain is properly configured in Shopify     |
| Click ID on homepage, missing on checkout | Redirect loop between domains  | Consolidate to one domain or configure server-side tracking |
| Click ID missing on custom pages (Replo)  | Pixel not hard-coded correctly | Verify `fbclid` parameter is passed in redirects            |

**To fix domain issues:**

1. Go to Shopify **Settings → Domains** and note your primary domain.
2. Verify your store URL matches the domain in your browser.
3. If you have multiple domains (e.g., `mystore.com` AND `www.mystore.com`), consolidate to one or configure server-side tracking.
4. If you use custom pages (Replo), ensure the `fbclid` parameter is preserved in redirects.

**Test Click ID preservation on redirect:**

1. Visit your store with a Meta ad parameter: add `?fbclid=ABC123` to your URL.
2. Proceed through checkout (allowing redirects to happen).
3. In Pixel Helper, check the Purchase event for Click ID.
4. If present: ✓ Good, redirects preserve Click ID.
5. If missing: ✗ You need to configure server-side tracking — [contact Upstack support](#when-to-contact-upstack-support).

### Step 8: Compare event counts (Pixel Helper vs. Events Manager)

Event counts should be approximately the same across both tools.

1. Note Pixel Helper totals for the last 24 hours (PageView, AddToCart, Purchase counts).
2. In Meta Events Manager, select your pixel and go to **Diagnostics** or **Event Source Quality**.
3. Look at the event counts for the same 24-hour period and compare:

| Event Type | Pixel Helper | Events Manager | Expected Match       |
| ---------- | ------------ | -------------- | -------------------- |
| PageView   | 1,000        | 950            | ✓ 95% (within 5–10%) |
| AddToCart  | 100          | 95             | ✓ 95% (within 5–10%) |
| Purchase   | 50           | 50             | ✓ 100% (exact match) |

**If counts differ significantly:**

* **More in Pixel Helper than Events Manager:** events fire on your site but don't reach Meta (consent/privacy issue).
* **More in Events Manager than Pixel Helper:** another source may be sending data (check for duplicate tracking).
* **Fewer Purchase events:** some checkout sessions may be incomplete or blocked.

## Troubleshooting common issues

### Troubleshooting: pixel not firing

**Problem:** Pixel Helper is open but no events appear.

Check in order:

1. **Is Pixel Helper showing the correct store?** Make sure you're visiting your actual Shopify store and check the URL in your address bar.
2. **Is your Theme App Extension enabled?** Go to Shopify admin → **Settings → Customer events** and confirm Upstack Data is listed and active. If not, follow the [complete Shopify setup guide](/troubleshooting/complete-shopify-setup-guide) to enable it.
3. **Is your theme compatible?** Some older custom themes don't support Theme App Extensions — try installing a Custom Pixel instead (see the setup guide).
4. **Is JavaScript enabled in your browser?** Privacy extensions (Privacy Badger, uBlock, etc.) block scripts — disable them temporarily or test in a private/incognito window.
5. **Did you just install the app?** It can take 5–15 minutes for the pixel to fully activate — wait a few minutes and refresh.

**Still not working?** [Contact Upstack support](#when-to-contact-upstack-support) with a screenshot of your Shopify theme settings and Pixel Helper.

### Troubleshooting: low page view counts

**Problem:** Page views fire but are significantly lower than expected.

**Likely cause:** your pixel script is set to `defer` instead of `async`. If users bounce within 2–3 seconds (before the page fully loads), the pixel never fires — this causes massive under-counting.

**To check:** inspect your store page, search for `fbq`, and verify the script tag uses `async`:

```html theme={null}
<!-- ✓ Correct -->
<script async src="..."></script>

<!-- ✗ Wrong -->
<script defer src="..."></script>
```

**To fix:** contact Upstack support with a screenshot of your script tag — we'll update your pixel configuration to use `async` loading.

### Troubleshooting: duplicate events firing

**Problem:** Pixel Helper shows the same event twice (e.g., two AddToCart events at 2:46:12 PM).

**Likely cause:** competing pixel tracking from GTM, Stape, Triple Whale, or multiple Upstack pixels.

**To fix:**

1. In [Google Tag Manager](https://tagmanager.google.com), open your Shopify container, search for "Meta", "Facebook", or "Pixel", and disable or remove any conflicting tags.
2. If you use Stape or Triple Whale, verify they're not configured to send the same events.
3. In Shopify admin → **Settings → Customer events**, confirm only ONE Upstack Data pixel is installed — remove any duplicate.
4. **Verify the fix:** refresh your store in Pixel Helper, perform actions, and confirm only ONE event per action.

### Troubleshooting: incorrect conversion values

**Problem:** the Purchase event shows the wrong value (e.g., $150 instead of $75 after discount).

**Likely cause:** your bundle or discount app is not configured correctly.

1. Identify your bundle/discount app (Kaching, Bold, Recharge, etc.) and open its settings in Shopify admin.
2. Find the **Tracking** or **Pixel** configuration section and look for options to:
   * Send zero-dollar values for bundled items
   * Wait until the discount is applied before firing events
   * Use post-checkout prices only
3. Alternatively, configure the app to send the **post-discount price** to the pixel.
4. **Test:** make a discounted test purchase and verify the Purchase event shows the correct value in Pixel Helper.

**If you need help:** contact Upstack support with details about your discount/bundle app setup.

### Troubleshooting: missing Click ID

**Problem:** events fire, but Click ID is missing.

**Likely cause:** domain configuration issue or redirect loop.

1. Go to Shopify admin → **Settings → Domains** and note your primary domain; verify your store URL matches it.
2. **Consolidate multiple domains** — if you have `mystore.com` and `www.mystore.com`, set up a redirect to use only one.
3. **For custom pages (Replo):** verify the `fbclid` parameter is passed in redirects and check Replo's **Redirect Configuration**.
4. **Test:** visit your store with `?fbclid=ABC123`, proceed to checkout, and check Pixel Helper for Click ID in the Purchase event.

**If Click ID is still missing:** you may need server-side pixel tracking — contact Upstack support.

## When to contact Upstack support

Reach out if:

* Pixel Helper shows no events firing (after checking all steps above)
* Events fire but don't reach Meta Events Manager
* Your script tag shows `defer` instead of `async`
* You have bundle/discount value issues and need configuration help
* You need server-side pixel setup for domain/redirect issues
* Custom page tracking (Replo, etc.) isn't working
* You're seeing duplicate events and can't find the source

**Include with your request:**

* Screenshot of **Pixel Helper** (showing events or lack thereof)
* Screenshot of your **script tag** (from browser Inspector, showing `async` or `defer`)
* Screenshot of **Shopify theme settings** (showing Theme App Extension status)
* **List of third-party apps** installed (GTM, Stape, etc.)
* **Expected vs. actual event counts** (last 24–48 hours)
* **Your Shopify store domain**
* **Any error messages** you've seen

***

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

## Quick verification checklist

* [ ] Pixel Helper installed and active
* [ ] PageView events firing (1 per page load)
* [ ] AddToCart events firing (1 per add action, no duplicates)
* [ ] Purchase events firing with correct value (post-discount)
* [ ] Click ID present in all events
* [ ] No duplicate events from competing tools
* [ ] Event counts match between Pixel Helper and Events Manager (within 5–10%)
* [ ] Meta Events Manager shows events arriving in real time
* [ ] Conversion values are accurate in Meta
* [ ] Custom pages have pixel hard-coded (if applicable)

**All checks passing?** Your Upstack Data pixel is working correctly and tracking accurately.

Most brands complete this verification in 15–20 minutes. If you encounter issues, the troubleshooting section above covers the most common problems.

## Related guides

<CardGroup cols={2}>
  <Card title="Troubleshoot pixel issues" icon="wrench" href="/troubleshooting/troubleshoot-pixel-issues">
    The diagnostic companion to this guide.
  </Card>

  <Card title="Complete Shopify setup guide" icon="cart-shopping" href="/troubleshooting/complete-shopify-setup-guide">
    Install and configure Upstack Data end to end.
  </Card>

  <Card title="Verify events (Upstack pipeline)" icon="clipboard-check" href="/quickstart/verify-events">
    Confirm events are arriving in the Upstack dashboard.
  </Card>
</CardGroup>
