Meta
Pivolio delivers to the Meta Conversions API at
POST https://graph.facebook.com/v21.0/{pixel_id}/events, using hashed
customer data plus the browser identifiers Meta needs to match a conversion
back to an ad.
Get your credentials
These steps are directional — Meta reorganizes Business settings regularly, so match the concepts rather than hunting for exact labels.
Find your pixel ID
In Meta’s Events Manager, select the pixel (dataset) you want conversions attached to. Its numeric ID is shown alongside the name. Use the same pixel your browser tag already uses — sending server events to a different pixel splits your reporting in half.
Create a system user
In Business settings, under the users section, create a system user for Pivolio. A system user belongs to the business rather than to a person, so its token keeps working after the employee who made it leaves.
Assign the pixel to it
Grant the system user access to that pixel as an asset. A token from a system user with no access to the pixel authenticates fine and then fails on every event.
Credential fields
pixel_id
The numeric Meta pixel (dataset) ID that conversions are posted to. Required. It forms part of the request URL, so a wrong value produces a 4xx rather than a quiet no-op.
access_token
The system-user access token, with ads_management. Required. Stored
encrypted and never returned — to rotate it, paste the new token over the
old one.
test_event_code
Optional, and used only during verification — it is never stored. Supply it if you want the verification event to show up in the Test events tab in Events Manager.
The reason test_event_code is deliberately not persisted: Meta routes any
event carrying a test code into the Test Events view instead of counting it as
a real conversion. A code saved once would silently divert your entire
production conversion stream — the kind of failure that looks like “Meta
stopped attributing” for weeks.
Event mapping
Meta ships these defaults. Anything not listed is skipped unless you add a custom mapping.
Identifiers Pivolio sends
Email, phone, name, city, state, zip and country are normalized and SHA-256 hashed server-side before they leave. Send raw values — hashing them yourself produces different digests than Meta expects and quietly collapses your match rate.
Two Meta-specific details are worth knowing:
_fbcis derived fromfbclid. If the browser cookie_fbcis absent but the landing page carried anfbclid, Pivolio constructs the click cookie asfb.1.{event_time_ms}.{fbclid}. This recovers matches on visitors whose browser blocked the Meta pixel from writing its own cookie.external_idis hashed byte-for-byte, with no lowercasing or trimming — that is what Meta’s spec requires, and it differs from every other field.