Meta Conversions API, sent from your server
ROASaurus sends page views, product views, adds to cart, checkouts and purchases to Meta from the server. The browser pixel uses the same event ids, so Meta keeps one copy of each event.
| Meta at a glance | |
|---|---|
| Connection | Conversions API (server) plus the Meta pixel (browser), sharing event ids |
| Events | PageView, ViewContent, AddToCart, InitiateCheckout, Purchase, Lead; optional ContributionMargin and other value signals |
| Customer data | Email, phone, name, city, state, zip and country hashed with SHA-256, external_id, IP, user agent |
| Click ids | fbc (built from fbclid) and fbp |
| Credentials | Pixel / Dataset ID and a Conversions API token, or Log in with Facebook |
| Spend sync | Yes: spend, impressions and clicks per campaign per day |
What ROASaurus sends to Meta
Each server event carries the event id the browser pixel used, the page URL, the visitor's IP address and user agent, and the fbc and fbp cookies. When the shopper is known, it adds email, phone, first and last name, city, state, zip and country, all hashed with SHA-256. The customer id from your shop and the ROASaurus visitor id go in hashed as external_id.
Purchases include the order id, value, currency and line items. Content ids use the variant id by default. Set the content ID template to {ProductID} if your catalog is keyed by product. An event with no fbc, fbp, email, phone or IP is skipped, because Meta can't match it.
POAS bidding (optional)
Tick POAS bidding on the pixel and every purchase also sends a ContributionMargin custom event. Its value is what the order earned after refunds, COGS, handling, shipping, fees and tax. Orders that lose money send 0. Pick it as the conversion event in Ads Manager to bid on profit. A Sales campaign can optimize for this custom event once it gets enough of them each week to leave the learning phase. The margin comes from profit analytics.
How to connect
- Go to Tracking & platforms, click Connect with Facebook on the Meta card, approve the permissions and pick your ad account and pixel. Facebook logins expire after about 60 days, so reconnect before then or use a System User token.
- For a token that doesn't expire, create a System User in Business Manager with access to the pixel and ad account, generate a token with
ads_managementandads_read, and paste it in the pixel settings. - Optional: paste the test event code from Events Manager › Test events. Remove it when you are done.
- Add the UTM template to your ads so campaign and creative reports can group orders.
Spend and creative reports
Add your ad account id (for example act_123456789) and ROASaurus pulls spend, impressions and clicks per campaign and day, every hour. That feeds ROAS and CPA in attribution, and creative analytics: hook rate, hold rate and fatigue per ad.
More for Meta
Purchases can carry the order's contribution margin or a new customer's predicted LTV as their value, with new-customer and high-value events and ROASaurus's own attribution credit (Custom Attribution). Customer audiences stay in sync as Custom Audiences, Lead Ads leads flow into the leads report once you add a Page access token, Event Match Quality is read every day under Tracking health, and, after a separate opt-in, campaign status and budgets can be changed from the Actions inbox.
Limits
- Another app sending the same pixel causes double counting. Set Shopify's Facebook & Instagram data sharing to Standard or off, and remove pixel snippets from your theme.
- Ads Manager counts view-through conversions, so its numbers are usually higher than the orders ROASaurus can tie to a click.
Related
Questions, answered
Do I still need the Meta pixel in my theme?
No. ROASaurus can load the browser pixel itself with the same event ids (the "Also load the browser pixel" option). Remove pixel snippets from your theme and switch off other apps that send the same pixel, or Meta counts purchases twice.
Which token should I use?
Log in with Facebook is the quickest, but the login expires after about 60 days. A System User token from Business Manager with ads_management and ads_read does not expire.
Does it work outside Shopify?
Yes. On WooCommerce, Wix, Lightspeed and the other webshops, paid orders arrive through the platform connector or the orders API and go to Meta from the server in the same way. Add the thank-you page snippet so each order is linked to its ad click.
Every sale, traced to the ad that earned it
Server-side tracking, profit and lifetime value in one app. 14-day free trial, no credit card.
Start your free trial →