Skip to content

Shopify

Server-side Meta events from your Shopify store.

A web pixel in the storefront and signed order webhooks from Shopify Admin, merged into one deduplicated event per purchase with hashed match keys, delivered to the Conversions API with retries and diagnostics.

Shopify to Meta Conversions API flowThe PixlBridge web pixel in the storefront and Shopify order webhooks both reach PixlBridge, where they are merged into one event keyed by checkout token, PII is hashed, and a single Purchase is sent to the Conversions API.Storefront web pixelevent_id · fbp · fbc · UAorders/paid webhookvalue · email · phone · addressPixlBridge mergeone row per purchase:{checkout_token}SHA-256 hashed match keysMeta Conversions API1 Purchase · deduplicated

Capabilities

What the Shopify integration does

  • Web pixel + order webhooks

    The app-owned pixel captures storefront events with Shopify's event ids, fbp, fbc and user agent. orders/create, orders/paid, orders/updated and checkout webhooks bring value, currency, line items and customer data.

  • Hashed match keys

    Email, phone, first and last name, city, state, zip, country and external_id are normalised and SHA-256 hashed at ingest. fbc, fbp, client IP and user agent are carried through. Raw PII is never stored or logged.

  • Deduplication via event_id

    Purchases are keyed purchase:{checkout_token}; pixel and webhook merge into one row. Deterministic ids let Meta deduplicate against any browser pixel that shares them.

  • Reliable delivery

    A per-workspace job runs every minute, sends batches of up to 1,000 events, isolates permanent failures per event and backs off transient ones (1, 2, 4, 8, 16 minutes). Events older than seven days are never sent.

  • Per-store health

    Counts by event and status for 24 hours and 7 days, match-key coverage percentages, pixel and webhook status, and named warnings such as pixel_not_firing, webhooks_missing or capi_failures.

  • GDPR endpoints

    customers/data_request, customers/redact and shop/redact are implemented and HMAC-verified. Uninstalling clears the store token immediately. Multiple stores per workspace on Starter and up.

Setup

Install, approve, verify

  1. 1

    Connect Meta

    The store sends events to the Pixel/dataset of your workspace's Meta connection (or a per-store override).

  2. 2

    Install the app

    Enter your myshopify.com domain, approve the scopes. PixlBridge registers the webhooks and installs the web pixel.

  3. 3

    Send a test purchase

    Use a test event code from Events Manager to confirm delivery and see exactly which parameters Meta received.

  4. 4

    Place a real order

    About two minutes later a Purchase from the Server connection appears in Events Manager, deduplicated against your browser pixel.

Per-store controls

  • Toggle each event type (PageView through Purchase) on or off
  • Override the destination Pixel for a specific store
  • Set a test event code for development stores
  • Tune the send delay that lets pixel and webhook meet (default 90 seconds)
  • Re-install the pixel or re-register missing webhooks with one click
  • Inspect recent events with match-key presence shown as booleans, never values

Frequently asked questions

Do I need to edit my theme?

No. When you connect a store, PixlBridge installs an app-owned web pixel through Shopify's Web Pixel API. It runs in Shopify's sandbox, works with checkout extensibility and needs no theme code.

Which events are sent?

PageView, ViewContent, Search, AddToCart, InitiateCheckout, AddPaymentInfo and Purchase. Each event type can be switched off per store, and a test event code can be set for development stores.

How is deduplication handled?

Every event has a deterministic event_id derived from Shopify's own identifiers (for purchases: the checkout token). The pixel beacon and the order webhook for the same purchase merge into one row and one CAPI event. A browser pixel that uses the same ids is deduplicated by Meta within its 48-hour window.

What about Meta's own Shopify sales channel?

If the Facebook & Instagram channel is set to its Maximum data-sharing level it already sends Purchases with its own ids, so running both would double count. Lower the channel's data sharing or disable Purchase in the store's PixlBridge settings; the health page flags the overlap.

What personal data is stored?

None in raw form. Email, phone, name, address and customer id are normalised per Meta's specification and SHA-256 hashed at ingest; only the hashes are stored and sent. fbc, fbp, IP and user agent are sent unhashed as Meta requires. Shopify's customers/data_request, customers/redact and shop/redact webhooks are implemented.

Why do I need protected customer data approval?

Shopify strips customer fields from order webhooks until the app is approved for protected customer data. Purchases still arrive and merge, but only the pixel's email and the fbc/fbp identifiers remain as match keys, which lowers Event Match Quality. The operator requests this approval once for the PixlBridge app.

Give Meta the purchases your pixel is missing.

Free plan forever, or a 14-day Growth trial on signup. No credit card required.