WWooshPayment docs
Marketing

Marketing pixels (GA4, GTM, Meta, TikTok)

Configure supported marketing pixels to track conversions. Client + server events (CAPI) for post-iOS 14.5 accuracy.

3 min read

WooshPayment supports 4 marketing integrations from the Dashboard โ†’ Integrations page. Each sends events to its destination: some client (script), others server (CAPI/Measurement Protocol) to bypass AdBlock + Safari ITP.

Supported pixels

PlatformFieldsEvents sent
Google Analytics 4measurement_id, api_secret (opt.)page_view, begin_checkout, purchase (client + server via MP)
Google Tag Managercontainer_iddataLayer.push on every event
Facebook / Meta Pixelpixel_id, CAPI access_token (opt.)InitiateCheckout, Purchase (client + server via CAPI)
TikTok Pixelpixel_id, Events API access_token (opt.)InitiateCheckout, PlaceAnOrder (client + server via Events API)

No Klaviyo, Pinterest, Snapchat, Omnisend for now. No "custom script" (removed because it was a stored XSS vector).

1. Google Analytics 4

  1. Google Analytics โ†’ Admin โ†’ Data Streams โ†’ Web โ†’ your stream
  2. Copy Measurement ID (G-XXXXXXXXXX)
  3. (Optional but recommended) "Measurement Protocol API secrets" section โ†’ create API Secret
  4. WooshPayment Dashboard โ†’ Integrations โ†’ Google Analytics 4 โ†’ paste both โ†’ Save

Without API Secret, events fire client-only. With API Secret, purchase also fires server-side (more accurate).

2. Google Tag Manager

  1. GTM โ†’ select container โ†’ copy Container ID (GTM-XXXXXXX)
  2. WooshPayment โ†’ Integrations โ†’ Google Tag Manager โ†’ paste โ†’ Save
  3. In GTM, create triggers based on dataLayer events (e.g. event: purchase)

We push dataLayer on every event. GTM handles routing to destinations.

3. Meta (Facebook + Instagram) Pixel

  1. business.facebook.com โ†’ Events Manager โ†’ Pixel
  2. Create pixel if you don't have one (associate with your Business Manager)
  3. Copy Pixel ID (15 digits)
  4. For server-side CAPI: Events Manager โ†’ Settings โ†’ "Create access token" โ†’ copy
  5. WooshPayment โ†’ Integrations โ†’ Facebook / Meta Pixel โ†’ paste โ†’ Save

Events sent:

  • InitiateCheckout when the customer arrives at checkout
  • Purchase when payment is confirmed

With CAPI Access Token, Purchase also fires server-side with unique event_id for client-side deduplication.

4. TikTok Pixel

  1. TikTok Events Manager โ†’ Tools โ†’ Pixel โ†’ create pixel
  2. Copy Pixel ID (CXXXXXXXXXXXXXXXXXX)
  3. Same page โ†’ "Events API" tab โ†’ generate Access Token
  4. WooshPayment โ†’ Integrations โ†’ TikTok Pixel โ†’ paste โ†’ Save

Events: InitiateCheckout, PlaceAnOrder (client + server).

CAPI: why it matters

After iOS 14.5, the client pixel (fbq(), ttq()) is blocked for 30-50% of users tracked on Safari/iOS. The server-side Conversion API sends events directly from our backend, bypassing AdBlock + Safari ITP. Typical result:

  • +20-40% tracked events
  • More accurate ROAS
  • Better ads algorithm optimization

WooshPayment always sends the conversion event server-side, with a unique event_id for dedup against the client (so you don't double-count).

  • If the customer hasn't given marketing consent โ†’ client pixels disabled
  • Server-side events for Purchase always fire (legal basis: legitimate interest โ€” analytics of a transaction requested by the user)
  • Consent cookie banner is your store's responsibility (Shopify has a built-in cookie banner; Woo via plugin)

Testing

Meta

  • Open Test Events in the Pixel dashboard
  • Enter a Test Event Code (optional) โ€” useful to avoid polluting production data
  • Open your checkout, simulate a purchase โ†’ see events arrive in real-time

TikTok

  • Events Manager โ†’ "Test Events" tab โ†’ see live events

GA4

  • Open DebugView in Analytics โ†’ see events in real-time (max 60s delay)

Security

Server-side keys (Meta Access Token, TikTok Access Token, GA4 API Secret) are never exposed client-side. They are encrypted at rest (AES-256-GCM) and used only by our backend to call the respective Conversion APIs.

FAQ

Do I need to configure both the client pixel and the server token?

For Meta/TikTok: ideally yes (automatic dedup via event_id, +30% accuracy). For GA4: the server-side Measurement Protocol is sufficient but client gtag also helps with engagement reports.

My events aren't arriving

  1. Verify the key/token is correct
  2. Go to Test Events on the destination platform and make a test purchase
  3. For Meta: verify the Pixel ID is an active pixel associated with your Business
  4. For TikTok: verify the Pixel ID corresponds to the account paying for ads

Can I disable a pixel temporarily?

Yes, from the Integration card click disable โ€” the key stays saved.

I want Klaviyo / Pinterest / Snapchat

For now they're not in the core. Write to us if you need them.

Next steps