Skip to main content

Pixels & tracking

Facebook (Meta), TikTok, Snapchat, Pinterest, Google Analytics, Google Tag Manager and Google Ads pixels — setup, targeting, and the Conversions API.

Written by Support

Pixels are tiny scripts that fire events when customers interact with your store. They power retargeting ads, conversion tracking, and attribution — install them before running paid traffic.

What we support

Tracker

Coverage

Facebook Pixel (Meta)

Browser-side events + Conversions API (server-side)

TikTok Pixel

Browser-side events + Events API (server-side)

Snapchat Pixel

Browser-side events + Conversions API (server-side)

Pinterest Tag

Browser-side events + Conversions API (server-side). Needs the Pinterest ad account ID as well as the token.

Google Analytics

Browser-side only

Google Tag Manager

Browser-side only

Google Ads

Browser-side only. Needs a conversion label in addition to the AW- ID, otherwise the tag can only build remarketing audiences.

All pixel configuration lives on one page — /dashboard/pixels. (/dashboard/pixels/multi is an alias for the same screen, and there is a single Pixels entry in the sidebar.) There is no separate "single-pixel mode": you add pixels one at a time, and on paid plans you can add several.

Plan limits

Pixel availability scales with your subscription plan:

Plan

Pixels per type

Notes

Free

0

Pixel management is locked. Upgrade to track ads.

Pro

1 of each type, 7 total

One Facebook, one TikTok, one Snapchat, one Pinterest, one Google Analytics, one Google Tag Manager and one Google Ads pixel.

Unlimited

unlimited per type

Add as many Facebook / TikTok / etc. instances as you need.

Enterprise

unlimited per type

Same as Unlimited.

When a paid plan expires and your store reverts to Free, Pixel events stop firing — your configuration is preserved and resumes the moment you re-subscribe. Renewal: open /dashboard/subscribe and click the ▶ How to renew button for the in-app guided tour, or watch the DZBuild YouTube channel.

Standard events fired

The storefront fires these canonical events when a customer interacts. Not every event maps to every pixel — the exceptions are noted in the table and below it:

Event

When

PageView

Every page load

ViewContent

Product page view

AddToCart

The customer adds a product to the cart — product page, variant modal, quick-add

InitiateCheckout

The customer reaches /checkout, or submits the one-step fast-checkout form on a product page (fast-checkout buyers never load /checkout, so this is their only IC signal). Simply opening the fast-checkout form fires nothing.

Purchase

Order successfully placed

Search

The customer searches your store. Mapped for Facebook, TikTok, Snapchat and Google Analytics — Pinterest has no Search equivalent.

Lead

The customer submits a landing-page custom form section

Delivered

Server-only Meta custom event, fired after an order is marked delivered

Per-pixel mappings: Facebook uses these names directly; TikTok, Snapchat and Pinterest have equivalents auto-mapped; Google Analytics uses view_item, add_to_cart, begin_checkout, purchase, search.

Two events behave differently from the rest:

  • Lead is browser-only — no Conversions API, no deduplication ID — has no Pinterest equivalent, and maps to Lead (Meta), SubmitForm (TikTok), SIGN_UP (Snapchat), generate_lead (Google Analytics). Custom-form submissions do not fire Purchase.

  • Delivered is server-only (no browser twin) and fires roughly 30 minutes after you mark an order delivered. It is a Meta custom event: Custom Audiences can use it directly, but to optimise a campaign toward it you must first create a Custom Conversion in Events Manager.

Adding a pixel

  1. Get the pixel / measurement / tag ID from the ad platform.

  2. Open /dashboard/pixels and click Add pixel.

  3. Choose the platform — Facebook, TikTok, Snapchat, Pinterest, Google Analytics, Google Tag Manager or Google Ads.

  4. Enter a name and the ID, then fill the platform-specific extras: - Conversions API access token — Facebook, TikTok, Snapchat, Pinterest. - Ad account ID — Pinterest only. Without it you get no server-side events and no error message. - Conversion label — Google Ads only. Without it the tag builds remarketing audiences but records no purchase conversions. - Domain verification code — Facebook only, optional. Paste the value from your Meta owned-domains settings and DZBuild renders it as a meta tag on your storefront.

  5. Save. Events fire immediately on the storefront.

Repeat to add more pixels (paid plans only).

⚠️ Warning — A Google Tag Manager container on its own receives no events

DZBuild does not push named events to the GTM dataLayer. To give GTM something to trigger on, add a Google Analytics (or Google Ads) pixel as well — the storefront then fires gtag('event', …) calls that GTM can pick up as Google-Tag events.

Each pixel card has an on/off switch. Turning a pixel off keeps its configuration and its targeting assignments but stops both browser and server-side events — useful for pausing an ad account without losing setup.

Targeting a pixel to specific products, categories or landing pages

Targeting is configured per pixel, not per landing page. Click the link (chain) icon on a pixel card and pick any combination of products, categories and landing pages. The pixel card then shows badges for what it is assigned to.

  • A pixel with no assignments is global: it initialises and receives events on every storefront page, including landing pages.

  • A pixel with assignments only initialises — and only receives events — on matching pages.

  • Assignments narrow one pixel; they never suppress your other pixels. A landing page still receives every global store pixel in addition to the pixel you assigned to it.

Two traps worth knowing:

  • An order containing products from two different targeted pixels books the full order value into both datasets. Splitting one store across two ad accounts is never perfectly clean.

  • If every product assigned to a pixel is deleted, that pixel has zero assignments again — and silently becomes global.

Running two Facebook pixels on one store

Events fire to every pixel that is active on the current page. For Facebook specifically, the Meta SDK broadcasts each event to every initialised Facebook pixel on the page, so two global Facebook pixels each record the other's events.

If you run two ad accounts against one store, assign each Facebook pixel to a distinct set of products — and remember the caveat above about mixed orders.

Conversions API (CAPI)

CAPI is server-side event sending. The browser-side pixel fires from the customer's device; CAPI fires the same event from DZBuild's servers. This is available for Facebook, TikTok, Snapchat and Pinterest, and bypasses:

  • iOS 14+ tracking restrictions (ATT)

  • Brave / Firefox tracking protection

  • ad blockers (uBlock, Adblock Plus, etc.)

  • network filters (some Algerian ISPs)

DZBuild auto-hashes the customer's email and phone (per Meta's spec) before sending CAPI events. Both browser and server events share an event_id so the platform deduplicates and counts each conversion once.

On DZBuild stores with CAPI enabled, Meta typically reports Purchase event-match quality around 7.8–8.0. Scores near 9–10 need an email address, which most Algerian COD checkouts do not collect.

Pinterest note: InitiateCheckout is deliberately not mapped for Pinterest, because Pinterest's own checkout event means a completed purchase — sending it at checkout start would double-count sales.

Verifying it works

  • Facebook Pixel Helper browser extension — visit your storefront and watch PageView and ViewContent fire.

  • Meta Events Manager → Test events — place a real test order; events appear within seconds. CAPI events show up tagged Server.

  • TikTok Events Manager → Test events — same flow.

  • GA4 → DebugView — same flow.

💡 Tip — Pixel Helper looks empty for a second — that's intentional

Pixel SDKs are deliberately deferred until the browser is idle or the visitor interacts (scroll, tap, key press), so tools like Pixel Helper may show nothing for the first second or two of a fresh page load. Scroll or tap and they appear. No events are lost — they queue while the SDK loads. The order-confirmation page is exempt and loads its pixels immediately, because Purchase fires there.

Best practices

  • Always install a Pixel before running paid ads. Without it, the algorithm has nothing to optimize toward.

  • Add CAPI the moment you turn on Facebook ads — the match-quality lift compounds over weeks.

  • Single source of truth — pick the pixels you'll actively use. Don't run 5 pixels just in case.

  • Don't fire fake events — inflating events hurts ad delivery quality long-term.

  • Match your ad account to the right Pixel when you run several — wrong-pixel attribution wastes spend.

Frequently asked

Q: My Pixel fires but Meta says "low event-match quality." A: Add the Conversions API. Hashed email + phone server-side bumps match quality significantly.

Q: Can I use both browser-side and CAPI for the same Pixel? A: Yes — Meta deduplicates by event_id. We send both with matching IDs.

Q: Where do I install Hotjar / Clarity / a custom script? A: You can't self-serve this today. There is no dashboard field for custom <head> / <body> HTML — /dashboard/pixels is the pixel manager only. Contact support if you need a third-party snippet installed on your storefront.

Q: Will pixels slow my store? A: No. Pixel SDKs are loaded async and deferred until the browser is idle or the visitor interacts, so they stay off the critical rendering path.

Did this answer your question?