Facebook Pixel and Conversions API

TrueMetriks sends all your events and data back to Facebook so it optimizes your ads and gets you more sales. Here is how to set it up.

Prefer to watch instead of read? Every step on this page also has a short video. They are bundled together at Facebook video guides - watch top-to-bottom to set everything up without reading.

Connect Facebook

Connecting Facebook is a Meta OAuth flow with five screens after you click the button in TrueMetriks. The whole thing takes about 90 seconds.

Video guide

How to connect Facebook to TrueMetriks

Prefer to read along? The full step-by-step is below.

Step 1 - Click Connect Facebook in TrueMetriks

In the TrueMetriks dashboard, open Settings > Ad integrations, pick the Facebook tab, and click the highlighted Connect Facebook button.

Ad integrations

Connect the ad networks you want to attribute.

Connected

Ad integrations

Connect ad and analytics platforms to enable server-side tracking.

Facebook Ads Not connected

Connect Facebook to fire CAPI events server-side.

Don't revoke this app in your Facebook Business Settings.

If you do, your CAPI tracking will stop firing until you reconnect from this page.

Settings → Ad integrations → Facebook - click the highlighted Connect Facebook button to start the Meta OAuth flow.

A Meta OAuth popup opens. If your browser blocks popups, you will get an inline prompt to allow it - allow it and click Connect Facebook again.

Don't revoke this app in your Facebook Business Settings later. If you do, your Conversions API events stop firing until you re-run this flow. Use the Disconnect button in this card instead - it cleans up on both ends.

Step 2 - Confirm your Facebook account

Meta asks which Facebook user is granting access. If you are signed into the right Facebook account, click Continue.

tm.

Continue as Your Name?

TrueMetriks Analytics will receive your name and profile picture.

Not Your Name?

Step 2 - Meta opens its OAuth dialog. Confirm it's your account, then click the highlighted Continue button.

If the wrong account is shown (for example a personal account when you wanted a business one), click Log into another account and sign in. The Facebook user only needs profile-level access - this screen is just identity confirmation, no business permissions are granted here yet.

Step 3 - Choose which Businesses to share

Meta now asks how much of your Business Manager footprint to give TrueMetriks. You have two options.

tm.

Choose the Businesses you want TrueMetriks Analytics to access

Later you'll be able to review what TrueMetriks Analytics will be able to do with the Businesses you select.

  • Opt in to all current and future Businesses

    This will give TrueMetriks Analytics access to your current Businesses, in addition to any Businesses you create in the future.

  • Opt in to current Businesses only

    This will only give TrueMetriks Analytics access to the Businesses you select.

Step 3 - Pick the scope. "All current and future" is the lowest-friction choice. "Current only" lets you hand-pick which Business portfolios TrueMetriks sees.
  • Opt in to all current and future Businesses (recommended for most accounts) - TrueMetriks gets access to every Business portfolio on this Facebook account, including any you create later. Pick this if you run a single agency or own all the portfolios on this account.
  • Opt in to current Businesses only - You will hand-pick which portfolios on the next view. Pick this if your Facebook account is a member of someone else's Business that you do not want TrueMetriks to touch.

Step 4 - Pick the Business portfolios (only if you chose "current only")

If you chose current Businesses only, Meta shows a searchable list of every Business portfolio your account belongs to. Tick the ones you want TrueMetriks to access. Use Select all to grab them in one click.

tm.
  • Opt in to all current and future Businesses

    This will give TrueMetriks Analytics access to your current Businesses, in addition to any Businesses you create in the future.

  • Opt in to current Businesses only

    This will only give TrueMetriks Analytics access to the Businesses you select.

0 Assets Selected
  • Acme Holdings

    346740378173522

  • Northwind Co.

    165904530700341

  • Riverline Studio

    216135910729119

  • Client B - Lifestyle

    726022288418319

  • Demo Wellness

    754415809583780

  • Side Project LLC

    131040391987347

Step 4 (only if you picked "current only") - tick every Business portfolio that runs ads you want TrueMetriks to attribute. Scroll for more.

Each Business portfolio you select unlocks every ad account and every pixel inside it. You will pick the specific pixel for each TrueMetriks site in a later step (after the connect flow finishes).

Step 5 - Review the permission grant

Meta summarises what TrueMetriks is about to receive. There are three permissions and one summary line.

tm.

Review TrueMetriks Analytics's access request

  • Manage ads for ad accounts that you have access to

  • Access your Facebook ads and related stats

  • Manage your business

    2 Businesses selected

This integration enables TrueMetriks Analytics to establish a connection with your business portfolio(s), and manage everything in the portfolio except for sensitive actions, like deleting the portfolio. They may be able to use an API to manage the portfolio, including giving access to third parties. .

Step 5 - Last screen before commit. Read the three permissions, then click the highlighted Save button.
  • Manage ads for ad accounts that you have access to - lets TrueMetriks read your ad account list and post events to the right pixel.
  • Access your Facebook ads and related stats - lets TrueMetriks read campaign / ad-set / ad metadata so it can attribute clicks back to specific ads in the dashboard.
  • Manage your business - lets TrueMetriks list pixels and catalogs inside the Business portfolios you selected. The line below ("2 Businesses selected" or similar) shows the count from Step 4.

Click Save when the list matches what you expect. If you spot the wrong scope, hit Back and re-do Step 3 or 4.

Step 6 - Confirmation, then back to TrueMetriks

Meta confirms the connection. Click Got it and the popup closes.

tm.

Your Name has been connected to TrueMetriks Analytics

To manage this connection, .

Step 6 - Meta confirms. Click Got it. The popup closes and the dashboard card flips to "Connected".

When the popup closes, the TrueMetriks dashboard card flips to Connected and reveals the next sub-section: Select your pixel. That is the next step below.


Select your pixel

The connect step gave TrueMetriks access to your Business portfolios. Now you tell it which pixel inside those businesses this site should fire events into. Three clicks.

Video guide

How to select your pixel in TrueMetriks

Prefer to read along? The full step-by-step is below.

Step 1 - Click Add pixel

Under the Active pixels header, click the highlighted Add pixel button in the top-right.

Active pixels

5 pixels ready to add from your connected Business Manager.

Click Add pixel above to pick the one this site fires events into.

Step 1 - click the highlighted Add pixel button in the top-right of the Active pixels section.

The hint banner shows how many pixels TrueMetriks found across the Business portfolios you connected. If the count is 0, your Business Manager has no pixel yet - create one in Facebook Events Manager first, then come back.

Step 2 - Pick the pixel from the dropdown

Clicking Add pixel inserts an empty row with a Pick a pixel dropdown. Click it to see every pixel in your connected Business portfolios. Each row shows the pixel name on the left and the Business / Ad Account it belongs to on the right.

Active pixels

  • My Site Pixel (My Site | Ad Account)
  • Demo Brand Pixel (Demo Brand | Ad Account)
  • Client A Pixel (Client A Holdings)
  • Side Project Pixel (Side Project LLC)
  • Test Pixel (Test Business)
Step 2 - click the highlighted Pick a pixel dropdown to see every pixel inside the Business portfolios you connected. Pick the one this site fires events into.

Click the pixel you want. The dropdown closes and the row collapses to show your selection.

Step 3 - Review the Allowed events list

Click the row to expand it. Four sections appear: Pixel (the same selector, in case you want to swap), Test event code (covered in How to test), Allowed events (highlighted), and Custom events (covered later).

Active pixels

My Site Pixel

under: My Site | Ad Account

Pixel

Test event code

TEST12345

Codes expire after 24 hours; after expiry, events flow to your production Facebook feed.

Allowed events

Uncheck events you don't want fired to this pixel. Useful for restricted-category advertisers.

PageView
ViewContent
AddToCart
InitiateCheckout
Lead
Schedule
Purchase

Custom event mappings

Fire a custom event name alongside the standard one (e.g. Purchase + Purchase_NewCustomer for granular reporting). Restricted-category advertisers can uncheck restricted standards above so only the custom name fires.

Step 3 - click the row to expand. The Allowed events block (highlighted) is where you control which standard events go to this pixel. Test event code and Custom event mappings are covered separately.

How the Allowed events list works

All seven standard Facebook events (PageView, ViewContent, AddToCart, InitiateCheckout, Lead, Schedule, Purchase) are checked by default. A checked box does not make an event fire - it just means "if my site fires this event, send it to this pixel." Which ones actually fire depends on your site and platform.

Leave all seven checked unless you are in a restricted category (health, wellness, finance, and similar) where Meta blocks certain standard names. In that case, uncheck the restricted standard here and fire a custom event in its place (see Custom events below).

Click Save changes at the bottom of the integration card to persist your pixel selection and the allowed-events list.

Custom events

The Allowed events list above controls which standard event names go to your pixel. Custom events let you fire an additional, custom-named event alongside any standard event. Two reasons to use them:

  1. Granular reporting - mirror Purchase as Purchase_NewCustomer for new-vs-returning splits, or Lead as Lead_Webinar to break out a specific lead source. Both events fire; the standard one keeps your existing optimization audiences healthy and the custom one gives you a dedicated reporting column in Ads Manager.
  2. Restricted-category bypass - if your business is in a category Meta restricts (health, wellness, finance, supplements, gambling, dating, alcohol, and a few others), Meta will block or throttle ad delivery on certain standard event names like Purchase, Lead, InitiateCheckout, AddToCart, Schedule, and ViewContent. In practice you are stuck with PageView for optimization, which is too high in the funnel to be useful. The workaround is to uncheck the restricted standards in the Allowed events list above and instead fire a custom event with a meaningless name (e.g. ghyu) that Meta's pattern detector cannot map back to a restricted intent. For the full strategy - including how to keep your product names and URLs just as neutral as the event name - see the dedicated Restricted categories guide. A blog post on which categories are restricted and how Meta enforces it is coming too; we'll link it here when it ships.

Explainer video

How to create a custom event mapping in TrueMetriks

Walkthrough - restricted categories

If your business sits in a restricted category, the video below walks through the exact "uncheck the restricted standards, fire a custom event with a neutral name" pattern from point 2 above, end-to-end in TrueMetriks.

Explainer video

How to use custom event mappings to bypass Facebook's restricted-category limits

For the full playbook - including how to keep your product names and URLs just as neutral as the event name - see the dedicated Restricted categories guide.

Step 1 - Click Create

Inside the expanded pixel row (the same one where the Allowed events checkboxes live), scroll to the Custom events panel and click the highlighted Create button in the top-right.

Custom events

Fire a custom event name alongside the standard one (e.g. Purchase + Purchase_NewCustomer for granular reporting). Restricted-category advertisers can uncheck restricted standards above so only the custom name fires.

Important - restricted categories: if you advertise in a restricted category (health, finance, etc.), read this guide before you set up your custom events so events fire compliantly. Read the guide

After saving, wait 30-60 seconds for changes to propagate before firing test events. Removing a custom event stops it here, but the Custom Conversion entry remains in Facebook Ads Manager - delete it there if you no longer need it.

No custom events yet. Click Create to add one.

The Custom events panel - click the highlighted Create button to open the popup.

Step 2 - Fill in the Create custom event popup

Clicking Create opens the Create custom event popup. It has three fields, plus an optional fourth that appears only for Purchase:

  • Standard event (dropdown) - the standard event you want to mirror. Pick Purchase to fire every time a Purchase event would. Same for Lead, Schedule, etc.
  • Custom event name (input) - any name you want. It must start with a letter and can contain letters, numbers, spaces, _ or -, up to 40 characters. For restricted categories, use something arbitrary and meaningless like ghyu, kt8x2, or wellness_evt_a - anything that does NOT contain the words purchase, buy, cart, checkout, lead, signup, etc. For granular reporting, use something descriptive like Purchase_NewCustomer or Lead_Webinar.
  • Fire when (dropdown) - Always (the default) fires on every matching event. For Purchase, Lead, and Schedule you can also pick New customers only or Returning only to split your audience.
  • Product filter (Purchase only, optional) - fire only when a purchased product matches a name or ID. Leave it blank to fire on every Purchase. See the Product filter section below.

Then click the highlighted Create button.

Create custom event

custom_purchase
Product filter Optional

Only fire when a purchased product matches. Leave blank to fire on every Purchase.

Upsell Bottle
SKU-1042

Matches if any purchased product matches the name or the ID. Case-insensitive.

The Create custom event popup - pick the standard event, type a custom name, choose when to fire, then click Create. The optional product filter shows for Purchase only.

Step 3 - Save changes to create it in Facebook

Your new custom event appears as a card in the Custom events list with a coloured status dot. It starts amber ("unsaved - click Save changes") until you persist it.

Click the Save changes button at the bottom of the integration card. TrueMetriks calls the Meta API and creates the matching Custom Conversion in Facebook for you; the dot turns green and a synced check mark appears.

To change a saved custom event later, click the pencil to edit when it fires (or its product filter). The standard event and custom name lock once it is saved, so to rename one, delete it with the trash icon and create a new one.

Custom events

Purchase custom_purchase
A saved custom event - the green dot and check mean it is live in Facebook. Click the pencil to edit when it fires, or the trash to remove it.

Step 4 - Confirm the Custom Conversion appears in Facebook

The moment you save, TrueMetriks calls the Meta API and creates a Custom Conversion in Facebook on your behalf. You don't have to set it up manually.

To confirm it landed, go to Meta Ads Manager → Events Manager (left rail) → pick the pixel you mapped this to → Custom conversions tab. Your custom name shows up in the table, attached to the right pixel and Ad Account.

Custom Conversions

  • Connect data
  • Overview
  • Datasets
  • Custom conversions
  • Integrations

Measure and Optimize with Custom Conversions

Use custom conversions to measure outcomes that happen on your website or in-store, and optimize your ads for URL traffic and custom events.

Q Search by name or ID
Custom Conversions Status Data Source Total custom conversions
Course Page View
ID 924925796383746
Active
My Site Pixel
ID 1234567890123456
228
Last received 8 hours ago
custom_purchase
ID 1032038776154427
Inactive
My Site Pixel
ID 1234567890123456
0
Never received event
book_a_call
ID 1297191442601820
Inactive
My Site Pixel
ID 1234567890123456
0
Never received event
Facebook Events Manager → your pixel → Custom conversions. The custom_purchase conversion was auto-created the moment you saved the mapping in TrueMetriks. It starts Inactive until the first event lands.

It will be Inactive until the first event lands. Fire a test event (covered in How to test below) or wait for live traffic; the status flips to Active once Meta sees the first conversion.

Step 5 - Add the conversion as a column in Ads Manager

A Custom Conversion is only useful if you can see it in your campaign reporting. In Meta Ads Manager → Campaigns (or Ad sets / Ads) → click the Columns: Performance dropdown in the top-right → pick Customize columns at the bottom of the menu. Search for your custom name, tick Total, Value, and Cost on the matching row, then click Apply.

Customize columns

custom_purchase

1 result for "custom_purchase"

Conversions Total Value Cost
custom_purchase

19 columns selected

Drag and drop to arrange columns as they'll appear in the table.

  • Campaign
  • Delivery
  • Actions
  • Results
  • Cost per result
  • Budget
  • Amount spent
  • Impressions
  • Reach
  • custom_purchase
Ads Manager → Columns: PerformanceCustomize columns. Search the custom name (custom_purchase), tick Total, Value, Cost, then Apply. The conversion now appears in the right rail as a selected column.

Step 6 - Read the column on every campaign row

The Campaigns / Ad sets / Ads table now has a dedicated column for your custom conversion. Use it the same way you would use a standard Purchase column - sort by it, build saved reports off it, set up automated rules against it.

Campaigns Ad sets Ads
Columns: Custom Breakdown
Campaign custom_purchase custom_purchase Value Delivery Results Cost per result Amount spent Impressions
CBO Sales Cold 20 - Promo - Dupli... 17
custom_purchase
$0.00 Off $1.43
Per Messaging Conv...
$7.00
Daily
$24.34 18,737
CBO Sales Cold 20 - Promo - Dupli... 8
custom_purchase
$0.00 Off $3.08
Per Messaging Conv...
$7.00
Daily
$24.62 18,095
CBO Sales Cold 19 - Promo - 3 - - Off -
Conversion
$7.00
Daily
$3.41 2,587
CBO Sales Cold 18 - Pro - 5 - - Off -
Conversion
$10.00
Daily
$7.04 3,118
Once the column is added, every Campaign / Ad set / Ad row in Ads Manager shows the custom_purchase count and value alongside the standard metrics. You can now optimize and report on the custom conversion the same way you would on a standard event.

Important gotchas

  • Wait 30 to 60 seconds after Save before firing test events. Meta needs to finish creating the Custom Conversion before it will accept matching events. If you fire too fast, the first few events will land as plain custom events without the conversion attached.
  • Removing a custom event in TrueMetriks does NOT delete the Custom Conversion in Facebook. It stops TrueMetriks from firing the custom name, but the Custom Conversion entry stays in Events Manager. If you no longer need it, delete it from Facebook's Custom Conversions tab manually.
  • Custom Conversions have a 100-per-pixel limit (Meta's restriction, not ours). Each custom event you add counts as one. The Custom Conversions list in your pixel will show "You have N custom conversions remaining" at the bottom.

Product filter

The Product filter is an optional control on a Purchase custom event. It lets you fire the custom event only when a specific product was bought, instead of on every Purchase. It appears in the Create custom event popup whenever the standard event is Purchase.

Video guide

How the Purchase product filter works in TrueMetriks

You have two fields, and they are either/or - a purchase fires the event if it matches either one:

  • Product name (contains) - a case-insensitive contains match on the product name. Enter Masterclass and a product called "Ultimate Ads Masterclass" matches, because its name contains that word.
  • Product ID (exact) - a case-insensitive exact match on the product's ID or SKU.

Fill in one, the other, or both. If any purchased product in the order matches either field, the custom event fires. Leave both blank and the event fires on every Purchase, the same as not using the filter at all.

Product filter Optional

Only fire when a purchased product matches. Leave blank to fire on every Purchase.

Masterclass
SKU-1042

Matches if any purchased product matches the name or the ID. Case-insensitive.

The optional Product filter on a Purchase custom event - here it fires only when a purchased product name contains Masterclass, so "Ultimate Ads Masterclass" matches. Fill the name, the ID, or both.

Why this is useful

A product filter lets you optimize and report on a single product instead of "any purchase". For example, if your funnel has an upsell with a strong take rate, create a Purchase custom event filtered to that upsell product, add it as a column in Ads Manager, and optimize your campaigns toward that specific conversion - so Meta learns to find buyers of your best upsell, not just any buyer.

Catalog

A Facebook Catalog is the product database Meta uses to power Advantage+ catalog ads (dynamic product ads, retargeting carousels, Instagram shops). Connecting your catalog to TrueMetriks lets Meta match every Purchase, AddToCart, and ViewContent event we ship against a specific product in your catalog, so dynamic-product-ad audiences populate correctly.

This step is mostly useful if you sell physical products on Shopify or WooCommerce. If you only run lead-gen or info-product campaigns, you can skip the catalog entirely - the Purchase / Lead events will still attribute back to your ads through the pixel selection above.

What you need before connecting

Meta's catalog format requires a few fields on every product. Most ecommerce platforms generate this automatically when you install their Facebook integration (covered below per-platform):

  • id - a unique product identifier per item, usually your SKU.
  • title - product name.
  • description - product description.
  • availability - one of in stock, out of stock, preorder, available for order, discontinued.
  • condition - one of new, refurbished, used.
  • price - amount + ISO currency, e.g. 29.99 USD.
  • link - public URL of the product page.
  • image_link - public URL of the main product image. Minimum 500x500 pixels, 1024x1024 recommended, JPEG or PNG, under 8 MB.
  • brand - manufacturer or brand name.

If your catalog is missing fields, products with bad data are excluded from Advantage+ ads and your catalog match rate drops.

Video guide

How to connect a Facebook catalog in TrueMetriks (plus the automatic WooCommerce path)

Prefer to read along? The full step-by-step is below. The Shopify-specific catalog flow has its own walkthrough further down.

Step 1 - Click Connect Facebook Catalog

In TrueMetriks, scroll down to the Facebook Catalog panel inside the Facebook integration card and click the highlighted button.

Facebook Catalog

Catalog access not yet granted. Click below to authorize.

Settings → Ad integrations → Facebook → Facebook Catalog panel. Click the highlighted button to start the Meta OAuth grant for catalog access.

This triggers a second Meta OAuth grant, separate from the one that connects your pixel. Catalog access is a different permission scope, which is why Facebook asks again.

Step 2 - Authorize through Meta OAuth

A separate Meta popup opens for the catalog grant. It walks you through four screens.

Confirm your Facebook account. Click Continue.

tm.

Continue as Your Name?

TrueMetriks Analytics will receive your name and profile picture.

Not Your Name?

Step 2 - Meta opens its OAuth dialog. Confirm it's your account, then click the highlighted Continue button.

Choose which Businesses to share. Same scope choice as the pixel connect: opt in to all current and future, or pick specific Business portfolios. Pick whichever is appropriate and click Continue.

tm.

Choose the Businesses you want TrueMetriks Analytics to access

Later you'll be able to review what TrueMetriks Analytics will be able to do with the Businesses you select.

  • Opt in to all current and future Businesses

    This will give TrueMetriks Analytics access to your current Businesses, in addition to any Businesses you create in the future.

  • Opt in to current Businesses only

    This will only give TrueMetriks Analytics access to the Businesses you select.

Step 3 - Pick the scope. "All current and future" is the lowest-friction choice. "Current only" lets you hand-pick which Business portfolios TrueMetriks sees.

Review the permission grant. The catalog grant asks for two things the pixel grant did not: a new top-line permission Manage your product catalogs, plus a Review what terms you are agreeing to → Product Catalog Terms section. Read them, then click Save.

tm.

Review TrueMetriks Analytics's access request

  • Manage your product catalogs

  • Manage ads for ad accounts that you have access to

  • Access your Facebook ads and related stats

  • Manage your business

    2 Businesses selected

Review what terms you are agreeing to

This integration enables TrueMetriks Analytics to establish a connection with your business portfolio(s), and manage everything in the portfolio except for sensitive actions, like deleting the portfolio. They may be able to use an API to manage the portfolio, including giving access to third parties. .

Catalog OAuth review screen. Note the extra Manage your product catalogs permission at the top and the Product Catalog Terms link - both unique to the catalog grant (the pixel grant doesn't ask for either). Click Save.

Connection confirmed. Click Got it to close the popup. The TrueMetriks panel reloads.

tm.

Your Name has been connected to TrueMetriks Analytics

To manage this connection, .

Step 6 - Meta confirms. Click Got it. The popup closes and the dashboard card flips to "Connected".

Step 3 - Create a new catalog or connect an existing one

After OAuth closes, the panel in TrueMetriks switches to a catalog picker:

Facebook Catalog

Create new catalog (recommended)

We create a fresh catalog named "TrueMetriks - your-domain.com" so your products stay isolated from any other catalog you run.

Connect to existing catalog

  • Select a catalog...
  • TrueMetriks - your-domain.com - Main
  • Products from your-domain.com - Main
  • Demo Brand Catalog
Two paths: Create new (recommended) makes a clean catalog TrueMetriks owns end-to-end, or Connect to existing if you already have a Shopify / WooCommerce / Meta-Pixel-generated catalog you want to reuse.
  • Create new catalog (recommended) - TrueMetriks creates a fresh catalog named TrueMetriks - your-domain.com inside the Business portfolio you picked. Use this if you don't already have a catalog or if you want a clean separation between TrueMetriks-tracked products and any other catalog you run.
  • Connect to existing catalog - pick a catalog from the dropdown. Use this if Shopify, WooCommerce, or another partner already populates a catalog you want to keep.

Click Connect catalog. TrueMetriks saves the choice and the panel flips to "Catalog connected".

Step 4 - Find your catalog in Meta Commerce Manager

Catalogs live in Meta's Commerce Manager, not Ads Manager. Open Commerce Manager → pick the same Business portfolio you connected → Assets in the left rail → Catalogs. Your new catalog appears in the list.

Commerce Manager

  • Assets
  • All tools

Catalogs

Q Search by name or ID
  • TrueMetriks - your-domain.com

    Catalog ID: 1655588159057516

  • Demo Brand Catalog

    Catalog ID: 1680276399787484

Meta Commerce Manager → pick your Business portfolio in the top-left → the catalog TrueMetriks just created appears in this list. Click it to open the catalog dashboard.

Click into the catalog to open its dashboard. Catalog → Products in the left rail shows every item the catalog knows about; on a fresh catalog this list is empty until your platform (Shopify / WooCommerce / a feed URL) starts pushing products in.

Step 5 - Connect the pixel as the catalog's event source

A catalog is just product data until you wire it to a pixel. Meta uses the pixel to learn what your visitors viewed, added, and bought, and matches those events to catalog products via the content_ids field on each event.

On the catalog Overview screen, the Connect to tracking row will be red until you do this. Click Connect event source (highlighted), or use Catalog → Events in the left rail.

Commerce Manager

  • Overview
  • Catalog
  • Products
  • Sets
  • Data sources
  • Events
  • Offers
  • Shops
  • Settings

Overview

Finish your Advantage+ catalog ads setup

You're a few steps away from using this catalog for Advantage+ ads. Using a catalog lets you show your products to the right people.

  • Add basic Info
  • Connect to tracking

  • Set permissions

    You can manage catalog access for people and partners in Business Settings.

  • Upload products
Catalog Overview → Connect to tracking shows red until you wire a pixel into the catalog. Click Connect event source (highlighted) - or use the Catalog → Events nav item on the left.

A dataset picker opens. Flip the toggle on the same pixel you picked in Select your pixel above, then click Connect.

Make the most of your event tracking

Setting up your event tracking with the right dataset will enable you to automatically show relevant products from your catalog to people who have searched for, viewed or interacted with them on your website.

Connect a dataset to track the products people are interacting with on your website or app.

Available datasets

  • My Site - WP

    Meta SDK ID: 503905749106283

  • Demo Brand Pixel

    Dataset ID: 2820043304834500

  • My Site Pixel

    Dataset ID: 618120340405935

Catalog → Events tab. Flip the toggle on the pixel that fires Purchase for this site (the same one you picked in Select your pixel), then click Connect. Meta now uses the pixel's product IDs to populate dynamic-product-ad audiences from your catalog.

Meta now knows which pixel to listen to for catalog matching.

Step 6 - Watch the catalog match rate climb

The Events tab now shows your dataset with a Catalog match rate gauge.

Events

To improve ads targeting, keep your catalog match rate above 90%

We recommend at least 90% catalog match rate - item interactions on your website or app that match items in this catalog. Only these items can be used for ads targeting. Increase it by resolving issues.

Dataset Catalog match rate (last 28 days) Status
My Site Pixel
Dataset ID: 618120340405935
0% Low match rate
After connecting, this is your day-to-day view. Catalog match rate is the share of pixel events whose content_ids match an item in this catalog. Starts at 0% on first connect; aim for 90%+ within a day or two of live traffic.

The match rate is the share of Purchase / AddToCart / ViewContent events whose content_ids actually map to a product in this catalog. It starts at 0% the moment you connect (no events have arrived yet under the new wiring) and climbs as live traffic flows in. Aim for 90%+ within a day or two of normal traffic; anything below 90% means a chunk of your events are firing IDs that don't exist in the catalog, which usually points to:

  • The pixel events ship Shopify variant_id but the catalog stores product_id (or vice versa).
  • Some products are missing from the catalog feed entirely.
  • Newly added products haven't synced yet (Shopify / Woo feeds typically refresh every 1-24 hours).

The Catalog → Events screen has a per-dataset diagnostics view that lists the most-common unmatched IDs - work through those to lift the score.

Connect a catalog on Shopify

On Shopify, the TrueMetriks Catalog Sync app handles everything end-to-end - just like on WordPress, you do not need Meta's "Facebook & Instagram by Meta" sales channel. Install the TM app once, and every product create / update / delete in Shopify pushes to the catalog you connected in Step 3 above. Initial sync runs automatically the moment the install completes.

This connection is separate from the Facebook OAuth you did earlier - it grants TrueMetriks read access to your Shopify products, which lets us push them into the Facebook catalog.

Video guide

How to connect a Shopify catalog to TrueMetriks

Prefer to read along? The full step-by-step is below.

Step 1 - Open Shopify Admin Settings

Inside your Shopify Admin, click Settings in the bottom-left of the sidebar.

  • Home
  • Orders5
  • Products
  • Customers
  • Marketing
  • %Discounts
  • Content
  • $Markets
  • Finance
  • Analytics

Sales channels

  • Online Store

Apps

  • Add
Shopify Admin → click the highlighted Settings link in the bottom-left of the sidebar.

Step 2 - Click Domains

Inside Settings, scroll the store sub-menu and click Domains.

Your Business LLC

Organization

Search
  • Organization
  • Users

Your Store

your-store.com

  • General
  • Plan
  • $Billing
  • Payments
  • Checkout
  • Customer accounts
  • Shipping and delivery
  • %Taxes and duties
  • Locations
  • $Markets
  • Apps
  • Sales channels
  • Domains
  • Customer events
  • Notifications
  • Metafields and metaobjects
  • ALanguages
  • 🔒Customer privacy
  • Policies
Inside Settings, scroll down the store sub-menu and click the highlighted Domains entry.

Step 3 - Copy the .myshopify.com domain

You will see two rows: your custom storefront domain (marked Primary) and the original Shopify-issued domain that ends in .myshopify.com. Copy the .myshopify.com row, not the primary one.

Domains

Domain Status
your-store.com Primary Connected
your-store-abc123.myshopify.com Connected
Copy the your-store-abc123.myshopify.com row (highlighted) - this is the original Shopify-issued domain that TrueMetriks needs, NOT the custom your-store.com domain above it.

TrueMetriks identifies Shopify stores by their permanent .myshopify.com handle, so the primary domain will not work even if it points to the same store.

Step 4 - Paste it into TrueMetriks and click Connect Shopify

Switch back to the TrueMetriks dashboard, scroll to the Connect Shopify (for FB Catalog sync) panel inside the Facebook integration card, paste the .myshopify.com domain into the input, and click Connect Shopify. The button starts spinning and a small popup window opens.

Step 5 - Install the TrueMetriks Catalog Sync app

The popup is Shopify's standard install prompt. The app is TrueMetriks Catalog Sync and asks for only two scopes: View store data: Products (so we can read your product list) and View staff and contributor data: Store owner. Click Install.

Your Store - Install app - Shopify Plus

admin.shopify.com/store/your-store-abc123/app/grant?access_...
Q Search

Install app

TrueMetriks Catalog Sync

Game Dev Pro LLC

This app needs access to:

  • View staff and contributor data

    Store owner

  • View store data

    Products

A Shopify popup opens with the install prompt. The app is TrueMetriks Catalog Sync and only asks for View store data: Products (so we can read your product list) and View staff and contributor data: Store owner. Click Install.

Once you click Install, Shopify provisions the access token, the TrueMetriks backend receives it, and the popup closes itself. The TrueMetriks panel updates inline to Connected to your-store-abc123.myshopify.com. Shopify product catalog sync is active. without reloading the page.

Step 6 - Sync is automatic from this point

The moment the install completes, TrueMetriks pulls your entire Shopify product catalog and pushes it into the Facebook catalog you picked in Step 3 above. Every subsequent product create, update, or delete in Shopify is forwarded in real time through the same webhook pipeline - no scheduled cron, no manual re-imports.

You do not need to do anything else. The pixel events fired by the Shopify Custom Pixel (the one you set up in Select your pixel above) ship content_ids that match the Shopify product IDs in the catalog, so dynamic-product-ad audiences populate as soon as live traffic flows in.

Same automatic-sync model on WordPress: the TrueMetriks WP plugin handles all create / update / delete events through WooCommerce hooks. No manual sync is required on either platform.

Field mapping note: the TrueMetriks Catalog Sync app ships variant_id as the catalog id for variant-level products and product_id for simple products. The TrueMetriks Shopify Custom Pixel emits matching content_ids automatically. If you ever wire a non-TM pixel to the same catalog, double-check it ships the same ID shape or your match rate will drop.

Connect a catalog on WordPress / WooCommerce

On WordPress + WooCommerce, the TrueMetriks plugin handles the catalog sync end-to-end - you don't need Meta's "Facebook for WooCommerce" extension at all. The TrueMetriks plugin pushes products into the catalog you connected in Step 3 above, so there's nothing to wire up manually on Meta's side.

How it works

  1. You connect the Facebook Catalog in the TrueMetriks dashboard (Steps 1-3 above) - that's the only place the OAuth + catalog selection happens.
  2. The TrueMetriks WordPress plugin polls your TrueMetriks account, detects the connection, and starts pushing products into the connected catalog automatically.
  3. Every time you create, update, or delete a product in WooCommerce, the plugin syncs that change to the catalog in real time. No cron, no scheduled re-pushes.

That means you do not need to repeat the Facebook OAuth inside WordPress. The dashboard connection covers both the pixel events and the catalog feed.

Before connecting on the dashboard

Open WordPress Admin → TrueMetriks → Facebook Catalog. Before the dashboard connection is in place, the tab looks like this:

  • Products
  • Payments 1
  • TrueMetriks
  • Analytics
  • Marketing
  • FunnelKit
  • Appearance
  • Plugins 8
  • Users
  • Tools
  • Settings

Facebook Catalog

Push your WooCommerce products to Facebook Catalog for Advantage+ and Dynamic Product Ads. Products sync automatically whenever you create, update, or delete a product in WooCommerce.

Connect your Facebook Catalog in the first. The connection status shown below is fetched from your TrueMetriks account.

Re-checks the connection state from your TrueMetriks account.

Default brand

Your Brand

Facebook Catalog requires a brand on every product. This value is sent as the fallback brand when a product has no brand assigned in WooCommerce (via product_brand, pwb-brand, or yith_product_brand taxonomies). Leave blank to use your WordPress site name.


Status: Facebook Catalog is not connected to this site yet.

Set up the Facebook Catalog connection on the , then come back here and click Refresh to confirm. The Connect button below will take you straight to the right dashboard page.

WordPress Admin → TrueMetriksFacebook Catalog tab, before the dashboard connect. The status reads not connected until you connect the catalog in the TrueMetriks dashboard.

The Status line confirms the catalog isn't connected yet. The blue Connect Facebook Catalog button just deep-links you straight to the right page on the TrueMetriks dashboard - it doesn't run any OAuth on the WordPress side.

After connecting on the dashboard

Once you complete the connect flow in the dashboard (Steps 1-3 above), the WordPress plugin auto-detects the change on its next poll. If the WordPress tab was already open, click Refresh connection status to force a re-check immediately. The green banner appears and the tab switches to the connected layout:

Facebook Catalog

Push your WooCommerce products to Facebook Catalog for Advantage+ and Dynamic Product Ads. Products sync automatically whenever you create, update, or delete a product in WooCommerce.

Connect your Facebook Catalog in the first. The connection status shown below is fetched from your TrueMetriks account.

Re-checks the connection state from your TrueMetriks account.
Connection refreshed. Connected to TrueMetriks - your-domain.com.

Default brand

Your Brand

Facebook Catalog requires a brand on every product. This value is sent as the fallback brand when a product has no brand assigned in WooCommerce (via product_brand, pwb-brand, or yith_product_brand taxonomies). Leave blank to use your WordPress site name.


Connected to: TrueMetriks - your-domain.com 1655588159057516

Products sync automatically on every create, update, and delete. Use Resync all products only after a sync error or to force a full re-push of your catalog.

Same tab, once the catalog is connected in the TrueMetriks dashboard. The plugin auto-detects the connection and switches to Connected to with the catalog ID, plus Resync all products and Disconnect buttons.

You now have three actions on this tab:

  • Refresh connection status - re-fetches the connection state from your TrueMetriks account. Useful right after connecting in the dashboard, or if you ever suspect WordPress and the dashboard have drifted apart.
  • Default brand - Meta requires a brand field on every catalog product. The plugin reads brand from WooCommerce taxonomies (product_brand, pwb-brand, yith_product_brand) when available; this fallback value is used for any product that doesn't have one. Leave blank to use your WordPress site name as the fallback.
  • Resync all products - forces a full re-push of every product in your WooCommerce catalog into the Facebook catalog. Normal create / update / delete events sync automatically; only use Resync after a sync error or a Meta-side rebuild.
  • Disconnect - stops the WordPress plugin from pushing further updates and removes the catalog binding. The dashboard-side connection stays in place; reconnect the WordPress side later with Refresh connection status.

What you should NOT do

You do not need to install Facebook for WooCommerce alongside the TrueMetriks plugin. If you already have it, that's fine - it'll create its own duplicate catalog. Just make sure the catalog you pick in the TrueMetriks dashboard (Step 3) is the TrueMetriks-managed one, not the Facebook-for-WooCommerce-managed one. Pointing TrueMetriks at the wrong catalog will work, but you'll end up syncing the same products twice into different catalogs.

Field mapping note: the TrueMetriks plugin ships the WooCommerce product_id (or variation_id for variable products) as the catalog id, and the TrueMetriks tracker fires matching content_ids on Purchase / AddToCart / ViewContent events. Catalog matching works without any extra configuration.

Other platforms

If your store runs on BigCommerce, Squarespace Commerce, Wix, or a custom build, the path is:

  1. Use Meta's Data Sources flow in Commerce Manager (Catalog → Data sources) to point Meta at a product feed URL or CSV / XML upload.
  2. Or use a feed-management tool (DataFeedWatch, GoDataFeed, Channable) to generate and push a feed.
  3. Connect that catalog in TrueMetriks using the Connect to existing catalog path.
  4. Make sure whatever fires your Purchase / AddToCart / ViewContent events ships content_ids that match the id field in the feed.

How to test

Before you trust the pixel for real campaigns, you want to see your events arrive in Facebook with your own eyes. Meta's Test Events tab is the way - and TrueMetriks has a one-field workflow that wires it up. Six steps, about two minutes end-to-end.

The whole loop: copy a short-lived test code from Facebook, paste it into TrueMetriks, browse your site, watch events appear in real time on Facebook's Test Events table. After 24 hours the code expires and your events automatically flow back into the live Facebook feed - no flag to clear.

Video guide

How to test your Facebook events end-to-end with TrueMetriks

Prefer to read along? The full step-by-step is below.

Step 1 - Click Open in Facebook in TrueMetriks

Expand your pixel row in Settings > Ad integrations > Facebook. In the Test event code group, click the highlighted Open in Facebook link.

Active pixels

My Site Pixel

under: My Site | Ad Account

Pixel

Test event code

TEST12345

Codes expire after 24 hours; after expiry, events flow to your production Facebook feed.

Allowed events

Uncheck events you don't want fired to this pixel.

Step 1 - inside TrueMetriks, expand your pixel and click Open in Facebook next to the empty Test event code field. That jumps you straight to the right pixel in Facebook Events Manager.

This opens Facebook Events Manager in a new tab, scoped directly to the pixel you are working on. No hunting through the Meta UI to find the right dataset.

Step 2 - You land on Datasets, with your pixel selected and the Test events tab active

Facebook Events Manager opens straight to Datasets, with the pixel from TrueMetriks highlighted in the middle list and the Test events tab already selected in the right panel.

Datasets

  • My Site Pixel

    ID 618120340405935

  • Academy Pixel

    ID 2820043304834500

  • Side Project Pixel

    ID 771197136645079

  • Demo Brand Pixel

    ID 26884361097883851

My Site Pixel

Test your events

Use test events to confirm your website, app, CRM and server events are set up correctly.

Note that test behavior may differ from live environments, and your personal ad settings won't affect test data. Learn more

Select a marketing channel to receive its corresponding instructions:

Select channel
Step 2 - Facebook Events Manager opens directly on your pixel under Datasets, with the Test events tab already selected. The pixel you clicked from in TrueMetriks is highlighted in the middle list.

If you have multiple pixels, double-check the name in the right-panel header matches the pixel you clicked from in TrueMetriks. The first time you open this tab on a fresh pixel, the channel dropdown reads Select channel - that's the next click.

Step 3 - Pick Website in the Select channel dropdown

Click the Select channel dropdown and choose Website.

My Site Pixel

Test your events

Use test events to confirm your website, app, CRM and server events are set up correctly.

Note that test behavior may differ from live environments, and your personal ad settings won't affect test data. Learn more

Select a marketing channel to receive its corresponding instructions:

Select channel
Website
Offline
Step 3 - click the Select channel dropdown and pick Website. That's what TrueMetriks uses for every event we send.

Always Website, never Offline. TrueMetriks sends every event over the Conversions API as a website event - even server-fired Purchases. The Offline option is for CRM uploads and won't show your test traffic.

Step 4 - Copy your unique test code

Once you pick Website, Facebook reveals a Confirm your server's events are set up correctly card. The first step inside that card shows your unique test code as a test_event_code: TEST... chip with a Copy button next to it.

My Site Pixel

Test your events

Use test events to confirm your website, app, CRM and server events are set up correctly.

Select a marketing channel to receive its corresponding instructions:

Website

Confirm your server's events are set up correctly

You can perform a test to make sure your server is connecting and sharing event data. Make sure the Test Events page stays open in Events Manager during the test.

To run the test:

  1. Copy your unique test code. This code will be used to validate your data in the next step.

    test_event_code: TEST17763
  2. Open up Graph API Explorer. Make sure all the parameters entered above match what's shown in the payload, then submit and return to this page.

Confirm your website's events are set up correctly

Step 4 - copy the highlighted TEST... code from the Confirm your server's events are set up correctly card. (You don't need the Graph API Explorer step - TrueMetriks handles the server side for you.)

Click Copy. That's the only thing you need from this card - ignore the Graph API Explorer button and the "Confirm your website's events are set up correctly" card below it, those are for raw API testing and we already handle the server side for you.

Step 5 - Paste the code back into TrueMetriks and save

Switch back to TrueMetriks, paste the code into the Test event code field, and save. The pixel-row header flips to a green Test active - 24h left badge.

Active pixels

My Site Pixel

under: My Site | Ad Account

Pixel

Test event code

TEST17763

Codes expire after 24 hours; after expiry, events flow to your production Facebook feed.

Allowed events

Uncheck events you don't want fired to this pixel.

Step 5 - paste the code into the Test event code field in TrueMetriks. The row header flips to Test active - 24h left. Every event we send for this pixel now carries that code, so it shows up in the Facebook Test Events tab instead of the live feed.

From this moment on, every event TrueMetriks sends for this pixel carries the test code attached. Facebook routes those events into the Test Events tab instead of your live feed, so nothing you do in the next 24 hours will dirty your production reporting.

You only need to do this for the pixel you are actively testing. Other pixels with no test code keep sending real events to production - they are not affected.

Step 6 - Browse your site and watch events arrive

Go to your website and do something that should fire an event. Open a few pages (PageView), add a product to cart (AddToCart), start a checkout (InitiateCheckout), submit a lead form (Lead), or place a test order (Purchase).

Switch back to Facebook Events Manager. Within a few seconds the Receiving activity banner turns green and rows start appearing in the table, newest at the top.

My Site Pixel

Test your events

Use test events to confirm your website, app, CRM and server events are set up correctly.

Select a marketing channel to receive its corresponding instructions:

Website

Receiving activity

your-domain.com test_event_code: TEST17763

5 options selected
Events Received Received From Setup Method Event ID Time Received
PageView Custom event Processed Server Manual Setup 019e7826-1f68-76... Today at 11:10:24 AM
InitiateCheckout Processed Server Manual Setup 019e7826-1f69-77f... Today at 11:10:24 AM
PageView Custom event Processed Server Manual Setup 019e7826-1318-76... Today at 11:10:21 AM
PageView Custom event Processed Server Manual Setup 019e7826-04d2-7f... Today at 11:10:18 AM
PageView Custom event Processed Server Manual Setup 019e7825-fba6-76... Today at 11:10:15 AM
Step 6 - browse your site, fire a checkout, anything you want to test. Events land here within a few seconds. Every row says Server under Received From because TrueMetriks is server-side only - the browser never talks to Facebook directly.

Every row carries the event name, a green Processed pill, the Event ID, and the timestamp. Watch them stack up as you browse.

Every row says Server under Received From. That is correct and expected. TrueMetriks is server-side only - we do not fire the Facebook browser pixel at all. Every event you see in Test Events came from our server talking directly to Meta's Conversions API, with click IDs and hashed PII attached. The "Server" pill on every row is the proof.

If you don't see events within ~30 seconds, jump to Troubleshooting below.

After the test - the code expires automatically

Test codes are deliberately short-lived. 24 hours after you saved it, the code expires and TrueMetriks resumes sending events to your production Facebook feed without any action from you. The green badge in the pixel row disappears and the field empties out.

If you want to end the test sooner - say you confirmed everything in 5 minutes and don't want a 24-hour gap in production reporting - just clear the Test event code field in TrueMetriks and save. Events flow to production from the next event onward.

Troubleshooting

Events show up on Test Events but never appear in campaign reporting. Test events are scoped to the Test Events tab only - they are intentionally walled off from your live attribution. After the code expires (or you clear it), real events flow to production. Check campaign reporting the day after, not during the test.

Receiving activity stays empty for more than a minute. Three things to check, in order: 1. The pixel name in the Facebook Events Manager header matches the pixel you pasted the code into - mismatched pixels are the most common cause. 2. Your Channel dropdown says Website, not Offline. 3. The test code in TrueMetriks matches the one in Facebook character-for-character. If a code is older than 24 hours, Facebook silently ignores it - copy a fresh one from Step 4 and re-paste.

Events arrive but the Catalog match rate stays at 0%. Your event content_ids don't match the IDs in your catalog feed. See the Catalog section above - on Shopify the catalog ID is the variant id, on WooCommerce it is the product id. Cross-reference one event's content_ids against the catalog's product list in Commerce Manager.

The Test active - 24h left badge never appeared after saving. The code field didn't take. Hard-refresh the dashboard page, re-paste the code, and save again. If it still doesn't stick, the saved code is probably one that already expired in Facebook - get a fresh one.

Frequently asked questions

Which pixel should I select for my site?

Pick the pixel inside your connected Business portfolios that this site should fire events into. Each site maps to its own pixel via the Add pixel button, which lists every pixel in the businesses you connected.

Why does every test event show Server under Received From?

That is correct and expected. TrueMetriks is server-side only and does not fire the Facebook browser pixel. Every event comes from our server talking directly to Meta's Conversions API.

How long does the Facebook test code stay active?

Test codes expire 24 hours after you save one. After that TrueMetriks resumes sending events to your live feed automatically, or you can clear the field early to end the test sooner.

Can I fire a Facebook custom event for only one product?

Yes. On a Purchase custom event, open the optional Product filter and enter a Product name (case-insensitive contains match) or a Product ID (case-insensitive exact match). The custom event fires only when a purchased product matches either field; leave both blank to fire on every Purchase.

Need help with this?

Reach us instantly on WhatsApp, or send us a message and we will get back to you. On workdays we usually respond in less than 24 hours.

or send us a message