Meta Pixel and the Conversions API
Add your Facebook and Instagram pixel, test it in preview mode, turn it on, and know which pages and events it reports.
Updated
Open this in the appIf you run Facebook or Instagram ads, a Meta pixel lets Meta see which of your ads led to an enquiry or a booking on your TattooBooking pages. This guide covers setting it up in the app. It does not cover creating the pixel itself — you do that in Meta's Events Manager.
What the pixel is, and what the conversions key adds
- The pixel is a small script Meta provides. When it runs in a visitor's browser it reports a page view, and TattooBooking tells it when that visitor sends an enquiry, confirms a booking, or pays a deposit.
- The conversions key (Meta calls it a Conversions API access token) lets TattooBooking's server also report enquiries directly to Meta. That improves accuracy when a visitor's browser blocks tracking. Today the server half reports enquiries (Lead). Bookings and deposits are reported from the browser only.
Both are optional. A pixel with no conversions key still works from the browser.
Before you start
- You need a pixel ID from Meta Events Manager. It is a long number, not a name.
- If you want the conversions key, generate an access token for that pixel in Events Manager as well. You will paste it once; the app never shows it again.
- The page is under Settings → Integrations → Advertising & tracking. It is for account owners and managers; artists without those roles cannot see it.
- Accounts on the Light plan see the page behind an upgrade prompt ("Available on Solo plan and above").
Add a pixel
- Open Settings → Integrations and choose Advertising & tracking.
- Press Add a pixel.
- Under Who is it for?, choose A shop or An artist, then pick the owner. Each shop or artist can have one pixel. Only one pixel ever runs on a page — an artist's pages carry the artist's pixel, a shop's page carries the shop's.
- Paste the Pixel ID.
- Optionally paste the Conversions key. Leave it blank for now if you do not have one; you can add it later with Edit.
- Press Save. You will see "Saved. It is in test mode until you turn it on."
The pixel card now shows the owner's name, "Pixel 1234…" with either "conversions key set" or "no conversions key", and its status.
Test mode and ?pixelPreview=1
A new pixel starts in test mode. The status line reads: "Test mode: only you see it. Open your page with ?pixelPreview=1 on the end after accepting cookies, and watch it in Meta's Test Events. Visitors get nothing until you press Turn on."
To preview it:
- Open the public page in your own browser — your artist profile, your shop page, or a form — and press Accept all on the cookie banner. Preview mode does not skip consent; nothing fires without it.
- Add
?pixelPreview=1to the end of the address and load the page. That switches your browser into preview and it stays on for that browser until you visit a page with?pixelPreview=0. - In Meta Events Manager, open Test Events. Your own browser's page views and events appear there as you click around.
Ordinary visitors see nothing while the pixel is in test mode, and their browsers are never even told the pixel ID.
Turn it on
When you are happy, press Turn on on the pixel card. You will see "Now collecting from visitors who agreed", and the status changes to "Live. Collecting from visitors who agreed to advertising cookies."
Turn off (or the bin icon — it does the same thing) stops collection but keeps the pixel ID and key, so you can turn it back on without setting it up again. There is no delete.
Add or replace the conversions key later
Press Edit on the card. The Conversions key box is empty even if a key is stored — the label says "(a key is set)" — because the key is stored encrypted and never shown again.
- Leave the box blank and press Save to keep the stored key.
- Paste a new key and press Save to replace it ("Saved. The conversions key was replaced.").
If Meta rejects the key, the card shows an amber note: "Meta rejected the conversions key. It was probably revoked or regenerated — create a new one in Events Manager and paste it here. Browser-side tracking is unaffected and still running." Generate a fresh token and paste it via Edit; the note clears on the next successful send.
Which pages fire, and which events
| Page | Whose pixel | Events |
|---|---|---|
| Artist profile | Artist | PageView |
| Shop page | Shop | PageView |
| Booking pages (choose a time, confirm) | Artist | PageView, then Schedule once a booking is confirmed |
| Deposit checkout and its success page | Artist | PageView, then Purchase once the deposit payment has succeeded, with the amount and currency |
| Public forms (intake, enquiry, consent) | The artist the form belongs to, otherwise the shop | PageView, then Lead when the form is submitted |
When a visitor reaches an artist's form from your shop's page and that artist has no pixel of their own, your shop's pixel counts that visit. A shop pixel in test mode does not stand in this way — only one that is turned on.
Every event carries an ID tied to the record it came from (the submission, the appointment, the payment), so if both the browser and the server report the same enquiry, Meta counts it once.
Cookies and consent
The pixel only ever loads for visitors who pressed Accept all on the cookie banner. A visitor who chose Only what is needed gets no pixel, no tracking data on their form submission, and no server-side event — the server checks its own record of the visitor's decision, not the browser's word for it.
Two more things happen automatically:
- Browsers that send the Global Privacy Control signal are treated as declined, even if that visitor accepted earlier.
- Visitors can opt out on the site's Do Not Sell or Share My Personal Information page, which records the same decision for that browser.
Checking it is working
- Browser events: with preview on (test mode) or the pixel live, Meta's Test Events view shows your own browser's traffic without any extra setup. There is no "test event code" to enter in TattooBooking.
- Server events: Conversions API sends do not appear in Test Events. Look in Events Manager's Events overview at the Lead event and its breakdown by connection method (browser versus server). A submission reported both ways shows as deduplicated.