Loading tutorials…
Loading tutorials…
The TW Pixel is the entire reason you're paying for Triple Whale. If it's not firing on every transaction, you're reading the same numbers your platform-native dashboards already showed you — just with a $300/mo wrapper around them.
Who this is forShopify owners on Triple Whale Grow tier or above who need the TW Pixel installed correctly. Especially urgent if you migrated to Shopify checkout extensibility (mandatory since August 2025) and your old pixel install path is now broken.
What you'll need
Step 1
The official Shopify app handles pixel install via Customer Events API. This is the only supported path on checkout-extensibility stores.
Open Shopify App Store → search "Triple Whale" → install the official Triple Whale app (verified developer: Triple Whale Inc.).
During install, approve the scopes Triple Whale requests: read_orders, read_products, read_customers, write_pixels (for the Customer Events pixel registration).
Once installed, the app auto-creates a Customer Events pixel entry in Shopify Admin → Settings → Customer events with the name "Triple Whale."
Verify in Customer Events: the Triple Whale pixel should show as "Connected" with permission "Default permission" (NOT "Permission to access customer data restricted").
If permission shows as restricted, click into the pixel → toggle to Default permission → save. Restricted mode strips out the customer email/phone needed for cross-device attribution.
Step 2
Inside the Triple Whale Shopify app, click "Connect to Triple Whale" and OAuth into your existing Triple Whale workspace. This links the pixel to your dashboard.
Open the Triple Whale Shopify app from the Shopify Admin sidebar.
Click "Connect to Triple Whale account."
OAuth into your Triple Whale account (the same email you signed up with).
Select the workspace this store should sync to. If you have multiple Shopify stores, each one gets its own Triple Whale workspace connection.
After connecting, the Triple Whale dashboard → Settings → Pixel should show "Pixel Status: Active" with the Shopify store URL.
Step 3
Open your storefront in incognito. Use browser DevTools to confirm window.TriplePixel exists and the pixel network request fires on every page.
Open your storefront URL in an incognito browser window.
Open DevTools (F12 or Cmd+Opt+I) → Console tab.
Type `window.TriplePixel` and press Enter. You should see a function object (not undefined).
Go to Network tab → filter "triplepixel.com" or "triplewhale."
Refresh the page. You should see a POST request to a triplewhale.com endpoint with a 200 status.
Navigate to a product page. Network tab should show a new POST with event_name "product_viewed" or similar.
Add to cart. Network tab should show event_name "add_to_cart."
If ANY of these fail, the pixel is not installed correctly even if the dashboard says "Active."
Step 4
Complete a real test purchase in incognito (use a real card, refund yourself). Verify the order appears in Triple Whale → Sonar within 5 minutes with correct attribution.
Open your store in incognito. Click through from a real ad if you can (this preserves the click-id for attribution testing).
Add a low-priced product to cart. Complete checkout with a real card and your own email.
After the order completes, open Triple Whale → Sonar → Recent Events (or Pixel → Live Events on some tiers).
Within 5 minutes, you should see your order with: event_name "purchase," customer email matching the one you used, revenue matching the order, and the correct channel attribution (e.g., facebook_ads if you came from a Meta ad).
If revenue is missing or channel attribution is blank, the pixel fired but the customer-event payload is incomplete. Most common cause: a third-party checkout app (post-purchase upsell apps especially) is overwriting the dataLayer before TW reads it.
Refund the test order: Shopify Admin → Orders → [order] → Refund.
Step 5
Sonar sends order data server-side from Shopify to Triple Whale, bypassing browser blockers. Required for accurate iOS attribution.
In Triple Whale → Settings → Sonar → Setup.
For Shopify integration, Sonar uses the OAuth connection you already established — no separate install needed.
Toggle "Sonar Server-Side Events" to ON.
Sonar will now fire purchase events server-side in addition to the browser pixel. This is critical for iOS users (Mail Privacy Protection, ITP) and ad-blocker users.
For Meta-specific Sonar (sending TW pixel events back to Meta's CAPI), Settings → Integrations → Meta → "Enable Sonar to Meta CAPI." This dramatically improves Meta's own attribution because TW sends server-side conversions back to Meta with the right click-ids.
Validate Sonar is firing: in Triple Whale → Sonar → Recent Events, server-side events appear with a "Sonar" badge next to them.
Step 6
If you use a cookie consent banner (OneTrust, Cookiebot, etc.), TW Pixel must respect consent OR you risk privacy violations. Configure consent gating correctly.
In Triple Whale → Settings → Pixel → Consent Mode.
Toggle "Wait for user consent before firing pixel" to ON if you have a consent banner.
In Shopify Admin → Settings → Customer events → Triple Whale pixel → configure the consent integration with your specific consent app.
Most consent apps (Pandectes, Consentmo, etc.) expose a consent API that the TW Pixel reads. If your consent app does NOT expose an API, you'll need to manually trigger TW Pixel after consent — talk to a developer.
Validate: open storefront in incognito, decline the consent banner, then check DevTools → Network. No POST to triplewhale.com should fire.
Then accept the banner and refresh. The POST should now fire.
Step 7
Compare "Pixel-attributed Orders" to "Total Orders" in Triple Whale. Below 70% coverage after 7 days = something is silently failing.
Wait 7 days after install.
In Triple Whale → Dashboards → Pixel Coverage report.
Look at "Pixel-attributed Orders / Total Orders" for the last 7 days. Should be 70%+.
50-70% coverage: usually a single category of orders missing — POS orders, draft orders, or subscription orders need separate config.
Below 50% coverage: the pixel has a structural failure on a major customer flow (post-purchase apps, custom checkout extensions, mobile-app traffic if you have a Shopify mobile app).
Diagnose by filtering "Orders with pixel = No" in Sonar → see which customers/channels are missing → trace back to the install gap.
Common mistakes
Using the legacy "Additional Scripts" pixel install
What goes wrong: On any store with checkout extensibility (mandatory since August 2025), this path silently stops firing on /thank-you page. The dashboard shows the pixel as "active" because the JavaScript loads on storefront pages, but the most important event (purchase) never fires.
How to avoid: Uninstall the manual script from Shopify Admin → Settings → Checkout → Additional Scripts. Install the official Triple Whale Shopify app instead. Use Customer Events API path.
Leaving Customer Events pixel on "Restricted" permission
What goes wrong: Shopify strips customer email and phone before passing the event to Triple Whale. Cross-device fingerprinting (mobile → desktop) breaks. Pixel-attributed coverage caps around 30% even with a perfect install.
How to avoid: Shopify Admin → Settings → Customer events → Triple Whale → Permission: Default. Save.
Ignoring post-purchase upsell app conflicts
What goes wrong: Apps like ReConvert and Zipify OCU load on the same /thank-you page and overwrite the dataLayer. TW Pixel events get nuked. You see partial pixel coverage and can't figure out why.
How to avoid: For each post-purchase app you use, check its documentation for "Triple Whale compatibility" or "preserve other pixels." Most have a toggle. If yours doesn't, contact the app's support.
Not enabling Sonar server-side
What goes wrong: iOS Mail Privacy Protection and Safari ITP block ~25-40% of browser pixel events. Without Sonar firing server-side, you lose that attribution entirely. Meta CAPI also doesn't receive TW events, so Meta's own optimization gets worse.
How to avoid: Settings → Sonar → toggle ON. Also enable "Sonar to Meta CAPI" in Settings → Integrations → Meta if you run Meta Ads.
Skipping the test purchase validation
What goes wrong: You assume the pixel is firing because the dashboard says "connected." Three weeks later you discover none of your real orders have channel attribution and Triple Whale has been showing platform-native fallback numbers the whole time.
How to avoid: Always run a real test purchase in incognito within 24 hours of install. Verify the order shows up in Sonar → Recent Events with channel attribution attached.
Forgetting to configure consent mode if you have a banner
What goes wrong: GDPR/CCPA exposure if you fire the pixel before consent. Or — depending on banner config — the pixel never fires because consent was never granted. Both are bad.
How to avoid: Settings → Pixel → Consent Mode → ON. Connect to your specific consent app. Test by declining and accepting the banner in incognito.
Recap
Done — what's next
How to set up Triple Whale for your Shopify store
Read the next tutorial
Hand it off
TW Pixel coverage is the foundation of every Triple Whale report. If it's not at 70%+ within a week of install, every decision based on Triple Whale data is built on partial truth. A vetted DTC attribution specialist sets this up correctly + monitors coverage weekly — typically $300-600 for the initial install + $100-300/mo for ongoing pixel health monitoring.
See specialist rates
Some attribution gap is normal — TW Pixel can't track every customer (consent declined, hard ad-blockers, iOS Mail Privacy stripping clicks). Healthy coverage is 70-90% of total orders. Below 50% indicates a structural install failure.
Yes, but it requires manual pixel install via the Triple Whale JS SDK in your frontend code. Customer Events API doesn't work the same way on headless stores. Talk to Triple Whale support for the headless install path or hire a developer who knows Hydrogen/Next.js Shopify setups.
Yes. Meta Pixel only tracks for Facebook attribution. GA4 is its own attribution model. TW Pixel is cross-channel and uses Triple Whale's specific fingerprinting logic. They serve different purposes and you should run all three.
Nothing — TW Pixel installs at the platform level via Customer Events API, not in your theme code. Theme changes don't break it. (This is one of the reasons the Customer Events install path is much more stable than the old Additional Scripts box.)
Shopify Admin → Settings → Customer events → Triple Whale → Disconnect. Then in the Triple Whale Shopify app, click 'Uninstall.' The pixel stops firing within 5 minutes. Note: historical pixel data stays in Triple Whale unless you also cancel the subscription.
The pixel loads async and adds ~30-50ms to page load. Negligible on modern Shopify themes. Customer Events API runs at the network edge, so it doesn't block render. You won't see Lighthouse score impact.
Triple Whale
Most founders sign up for Triple Whale, click 'Connect Shopify,' and assume the rest will figure itself out. Three weeks later they're paying $200/mo for a dashboard nobody opens because attribution looks weird. Here's the setup that actually delivers value from day one.
Triple Whale
These two integrations are where 60% of Triple Whale value lives. Done wrong, you get partial spend data and broken attribution. Done right, you have one number for blended ROAS that you can actually trust.
Triple Whale
Triple Whale's attribution model picker is buried in Settings and most users never touch it. The default is fine for some stores and dangerously wrong for others. Here's the decision framework that drives 80% of the value you get out of the platform.
Triple Whale
If Triple Whale shows different numbers than Shopify, Meta, or Google, every decision you make on Triple Whale data is questionable. Here's the diagnostic sequence specialists run to reconcile the gap.
Shopify
Most Shopify owners install the Google channel app, see 'Connected,' and assume the feed is live. Then 60% of products land in 'Pending' or 'Disapproved' a week later. Here's the full setup with validation that actually works.