Why this integration matters
- You finally see the sales you're already making. Retail and marketplace purchases get sent to Meta as verified conversion events, so reported ROAS includes retail sales instead of just the DTC slice.
- The algorithm gets better inputs. Over time, Meta can optimize and builds audiences and suppression lists against your full buyer base, not the 10-20% who happened to buy on your site.
-
The customer stays yours. Deterministic, brand-owned data flowing through your own CAPI connection, not anonymized behind a third-party wall.
Proof point: A brand saw a 32% attributed-conversion uplift with 9.87/10 EMQ on offline events. The audience was also used for suppression which improved their average CAC across campaigns by 10%.
What this sends to Meta (at a glance)
- Event name: BrijPurchase (custom event) or Purchase, per your configuration (explained below)
- Action source: Website or Physical Store, per your configuration (explained below)
- Purchase value: Automatically taken from the individual experience’s price value; or a fixed override for all events if the experience is not product specific.
- Purchase details: Consumer entered information in the registration form (email, phone, name, purchase date)
-
Facebook cookies: fbc_ & fbp_ if they exist in customer’s browser
- This helps link to ads in the scenario the user has a different email in Brij vs Meta.
When this sends to Meta
- Registration Submission events, which is when a consumer clicks "submit" on the registration form of your selected WebApp experiences.
- You also have the option to send Rebate Approval events if you are running rebates through Brij. These trigger when an admin approves the rebate receipt submitted.
1) Prerequisites
- Meta Dataset ID (aka your primary Pixel ID for your DTC site)
- Meta Ad Account ID
- Meta Conversions API Access Token (scroll down on the event manager dataset settings page)
- Retail AOV (as a fallback price if experiences are not product specific, or new experiences are created and you forgot to add the price)
- Alignment on which Brij experiences represent true NON-DTC purchases (e.g., product registrations)
- Unselect non-purchase experiences (e.g., educational content, sweepstakes)
- if you’re already sending Shopify purchases to Meta CAPI, unselect any experiences where a would register from a Shopify purchase.
2) Create the automation in Brij
- Go to Automations → New automation → choose Meta.
- Name it clearly (e.g., “Meta – Offline Purchase Registrations”).
3) Authentication Setup
- In Authentication, choose New authentication → Credentials.
- Paste the Access Token and Pixel ID the client provided.
- Name the auth (e.g., “Meta Auth”) → Save.
4) Select the right Filters and Trigger
- On the Filters page, pick only purchase-like experiences (e.g., “Warranty Registration”).
- Unselect non-purchase experiences (e.g., educational content, sweepstakes, link in bio)
- if you’re already sending Shopify (or other DTC) purchases to Meta CAPI, unselect any experiences where a customer would register for ONLY a Shopify purchase.
- Click Save & Next.
- Each Event listed on the "Triggers & Properties" will fire an event to Meta. NEVER select two Registration or Form events at the same time, only 1 out of these 3. It's ok to have Rebate approvals and one of the top 3 at the same time. MOST BRANDS will use Registration Submission and/or Rebate Approval triggers
- Click Save & Next
5) Configure event details
-
Event Name: Enter BrijPurchase to start. This keeps events separate from the standard Purchase event you use already, and doesn't alter any campaign settings.
- If ready to optimize for Brij registrations (retail purchases), add a 2nd integration using "Purchase" as the event and "physical_store" for the action source field below
- Action Source: Enter website to start for the "crawl" phase while we validate event attribution.
-
Ad Account ID: This is the ID for your ad manager account, not your Pixel/Dataset ID
- GO TO: Events Manager > Datasets > (select the pixel/dataset you used above) > Settings tab
- Copy the "Ad Accounts" number and paste in this configuration field
6) Configure purchase value
The Price entered on each Experience Details page will take priority over the Fallback Price set up here
Choose one approach:
A) Fallback (preferred & most common)
- Leave Override = No and keep the override field blank
- Brij uses the experience’s value (ideal when each experience has a price set)
B) Use a fixed override (if prices on experience are not accurate)
- Set Override = Yes and enter a single amount (e.g., an AOV like 95.55)
- Use when some experiences lack values or you’re batching mixed experiences
We don’t know exact in-store prices; MSRP/AOV is a practical proxy unless there’s a reason to choose a different value.
7) Activate
- Click Save & Activate. The automation now begins sending CAPI events to the client’s pixel for all future experience registration initiations (email submitted).
8) QA & Verification (simple, reliable checks)
Open Meta Events Manager for the pixel you used:
- Go to Purchase events in Meta Events Manager
- View details → confirm Event Source = Website (later you may add
Sanity check: Compare BrijPurchase event counts vs. Brij registration submission in the Brij dashboard funnel chart for the same period. Ex: If Brij dashboard shows ~100 submissions and Events Manager shows ~100 Brij purchases, you’re in good shape. Events manager may show less events, which is ok, as some events may have been denied by Meta per their acceptable event collection time window.
10) Ongoing management
- Scope control: Revisit experience selection whenever you add new purchase-like experiences.
- Value hygiene: If product prices change or new SKUs lack values, update experience values or adjust the override.
- Mixed sources: If multiple offline sources feed the same pixel, document how you distinguish them in your runbook (dates, tags, or event-name strategy during QA).
11) Troubleshooting
-
No events in Events Manager:
- Ensure the automation in Brij is Active.
- Re-check Access Token and Pixel ID.
- Confirm BrijPurchase event and website action source weren’t changed.
- more advanced 2nd integration may use purchase and physical_store for these values
- Confirm at least one eligible experience was registered since activation.
-
Counts don’t line up:
- Click the 3 dots on the automation row in Brij, select View Logs, and confirm success responses in the most recent events.
Quick Checklist (for the operator)
- Have Pixel ID & Access Token from Meta
- Pick only purchase-like experiences (in Brij automation setup)
- Event = BrijPurchase; Action source = Physical_Store
- Purchase value from experience or set override (MSRP)
- Verify in Events Manager (click purchase events in Meta and look for Physical Store count in Event Sources)
- (If needed) short-term ‘Brij_Purchase’ test → add later Meta approved ‘Purchase’ event naming
FAQ
-
Do I need to be using Meta's Omni Ads feature for this to work?
- No. There’s no requirement for Omnichannel Ads, but if you’re using them, you get some additional benefits. If you have been given access to Omnichannel Ads by Meta, you can see how to configure Omni Ads here. Again, this has no bearing on whether or not Brij Signal is useful and available for you.
-
Is there a cost to this?
- You must have Brij Signal included in your plan. Please reach out to your account manager to discuss if you don’t already have Signal.
-
Can this be done on other ad channels like Google Ads?
- Yes. For the time being, Brij supports Google Ads through Google Tag Manager which is a client side setup. This requires the “Custom Code” feature in your Brij plan, found in Settings if you have it enabled.
- We also have a TikTok direct server side integration and we plan to add more integrations regularly.
-
How will the conversions be sent into Meta?
- You can choose to send the purchase conversion into the standard “Purchase” event you are already using, or create an isolated event that you can name, like “BrijPurchase”. We recommend starting with "BrijPurchase" custom event name until attribution is proven and you are comfortable adding the events into your normal Purchase result as Physical Store offline events.
- When moving on to this phase, events will also need “physical_store” as the action_source, so you can tell which purchases are from your online store and which are from Brij (non-DTC).
- You can choose to send the purchase conversion into the standard “Purchase” event you are already using, or create an isolated event that you can name, like “BrijPurchase”. We recommend starting with "BrijPurchase" custom event name until attribution is proven and you are comfortable adding the events into your normal Purchase result as Physical Store offline events.
-
Will this event impact my Event Match Quality (EMQ) scores?
- No. Even if you send it into a standard “Purchase” event, conversions marked with action_source = “phsyical_store” shouldn’t impact EMQ scores. When sending as "BrijPurchase", the event has it's own EMQ score, which is good to validate that you are ready to upgrade to standard offline events.
-
How can I see the events in Meta?
- To see total events sent, go to your Events Manager and click on the Pixel you are using. then you'll see a list of all events and look for BrijPurchase (or Purchase if sending as offline event) and then click on Details.
- To see Attributed events, you need to look at the "Brij Custom Events" report we will build for you. This will show attributed events per campaign and the uplift % of adding Brij Signal.
-
What impact should we expect to see?
- At first, you will only see an attribution and ROAS lift, when you are sending separate custom events. These custom events don't automatically impact your campaigns, but give you a much truer picture of how successful your campaigns are (ROAS lift).
- To see greater impact, you can add the audience from the custom event as addition or suppression to your existing campaigns. This will improve your CAC, making you more efficient.
- The amount of impact then depends on your D2C to Retail sales volume split, or how many conversions you’ll be sending from Brij and how many conversions you send from D2C. The larger the addition Brij (retail) makes, the more impact you’ll see.
- To test the effect of suppression audiences for example, compare the period prior to Brij with a period where Brij is running and check your standard ad metrics like ROAS/CPM/Frequency/Etc…
- Beyond this, there are a lot of ways to use Brij Signal to make your ads more effective. One example is switching to the standard purchase event, so the retail conversions are included in the Advantage+ algorithm to optimize for more conversions.
-
Can I filter some Brij registrations out, for example those that happen on our online store (D2C)?
- Yes. This will require some thought in how experiences are setup. You can filter entire experiences (see next bullet) or ask users for their "Purchase Channel" and filter out any D2C options selected in this field.
- One option is to ask the end customer to first chose where they bought (using a Digital Hub experience) which silos all registrations for the subsequent experience to be from one retail channel or group (like in store), and then only send events for the experiences associated with non-D2C channels. Ask Brij to demonstrate this if you need help setting up!
-
Does Brij's data come strictly from scans of QR codes on product packaging, or does Brij have partnerships with Walmart/Target to tap into their 1P data?
- Events and data sent to Meta only come from Brij experiences, using activity of your consumers. Brij does not get data directly from Target, Walmart or other third parties.
-
How does a user's product purchase in-store (and subsequent QR scan) tie back to a specific campaign in Meta? How does Meta take the Brij data and tie it back to one campaign over another?
-
Click-ID match via
fbc/ fbpcookies: When the shopper scans the QR or visits a Brij experience, Brij captures the Meta click-ID cookies stored in their mobile browser and passes them to Meta. Meta uses these IDs to pinpoint the exact ad, ad set and campaign that generated the original click, giving you deterministic attribution for the purchase event. -
Hashed identifiers as a fallback: If the shopper’s browser no longer holds
fbcorfbp, Brij still sends hashed email and phone collected during registration. Meta matches those identifiers to the user’s ad-history and allocates credit to all campaigns the person interacted with, weighted by its standard attribution window. The more data collected (name, location), the more likely the user is matched. - Meta’s attribution engine: After matching, Meta’s attribution model (e.g., last-touch, data-driven, or 1-day/7-day click settings you choose) assigns the sale to one campaign over another and feeds that outcome back into ads reporting and budget optimization—so in-store QR scans can automatically influence your ROAS and learning phase just like online checkouts.
-
Click-ID match via