Meta conversions
Send purchases to Meta server side through Vibiz, without a Conversions API token.
Your site only talks to Vibiz. When Meta forwarding is on, Vibiz sends your conversions to your Meta pixel from its own servers, through the Meta account you connected to Vibiz. There is no Conversions API token to generate in Events Manager, and nothing on your server talks to Meta.
What is sent
Only conversions, each as Meta's standard event:
purchaseasPurchasesubscribeasSubscribestart_trialasStartTrialdonateasDonaterefundas a custom event
The rest stays in Vibiz. page_view, lead, sign_up, begin_checkout,
add_to_cart and every other event are stored and reported, but never sent to
Meta. A campaign that optimises for leads or registrations still needs the Meta
pixel on the page for those events.
It does not matter which side sends a conversion. An event from the browser tag
and one from @vibiz/analytics/node are forwarded the same way, a few seconds
after they arrive.
What is held back
Meta refuses events older than 7 days, so older ones are skipped. Only a buyer's first purchase is sent unless you turn on repeat purchases, and an event with nothing Meta can match a person on is not sent.
Which pixel
Conversions go to the pixel selected for the Meta ad account you launch ads
from, the same one your ads use, so the ads and the conversions they produced
land on one dataset. You choose it in Intelligence, or an agent sets it with
vibiz_analytics_setup_update. Until a pixel is selected nothing is sent.
Turn it on
Forwarding is off until you turn it on, because a page that still fires its own Meta pixel would report every purchase twice. When the tag has seen that pixel on the page, Vibiz refuses to turn forwarding on until you remove it, share event ids as described below, or confirm.
To try it first, enter a test event code from Events Manager > Test Events. While it is set, conversions go to that view and not to your dataset. An event spent on a test is never sent again for real.
Running the Meta pixel as well
Meta keeps one copy of an event when both copies carry the same event id. Vibiz sends, for each conversion:
- the id you passed, when you passed one
- otherwise an id derived from
order_id, which the browser and server copies of one order share, so they never double count each other - otherwise a random id
The id derived from order_id cannot be computed on your side. So when the page
also fires fbq for a purchase, choose an id and give it to both:
const eventId = `purchase-${order.id}`;
track('purchase', { value: 49.9, currency: 'EUR', order_id: order.id }, { eventId });
fbq('track', 'Purchase', { value: 49.9, currency: 'EUR' }, { eventID: eventId });The third argument of track needs @vibiz/analytics 0.6.0 or the script tag.
On the server, pass the same value as eventId.
PageView needs nothing: Vibiz never sends it, so the pixel's page views are
the only ones Meta receives.
With an agent
On the Vibiz MCP, vibiz_analytics_setup returns the org id, the install
snippets, the allowed origins, the latest events per origin, and where Meta
conversions go. vibiz_analytics_setup_update allows origins, selects the pixel
and turns forwarding on, so the whole setup runs without opening Events Manager.