Everything you need to set up and manage Facebook & Meta conversion tracking for your Commerce7 winery store.
Contents
Before installing, make sure you have:
Don't have a Pixel yet? Go to Meta Events Manager → Connect Data Sources → Web → Facebook Pixel. Name it after your winery and click Create. Then generate an access token from the Settings tab of that pixel.
In production, the dashboard only loads when Commerce7 opens your app inside the admin (iframe). Commerce7 adds an account token to the URL; the app verifies it with Commerce7’s API per Authenticate App Requests. If you bookmark the app URL or open it in a new tab without going through the Commerce7 admin, you may see an error — use Apps → 1Pixel (or your app) from the Commerce7 sidebar instead.
Developer note: In the Commerce7 App Development Center, the Page / App Frame URL must include ?tenantId={{tenantId}} exactly (Commerce7 replaces this with the winery’s tenant id). A frame URL without this template can break installs and show generic errors in Commerce7.
The Configuration tab includes a master switch: Enable server-side tracking. When this is off, the app does not send Commerce7 webhook events or storefront snippet events to Meta — useful for pausing all CAPI traffic without uninstalling. When on, events follow the per-event toggles (Purchase, Subscribe, etc.).
The Test Event Code field is used by the Simulate events buttons in the dashboard. It is not applied to live orders or real storefront traffic, so production conversions are never routed to Meta’s Test Events tool by mistake. Remove the code after you finish testing.
These events are sent automatically from your Commerce7 account. Each can be toggled on or off individually in the Configuration tab.
Purchase — includes order value, currency, and order IDSubscribe — so Facebook knows when your ads convert to club membersCancelMembership (custom server event) — club opt-out signal for audiencesLead — tasting room bookings reported as lead conversionsCompleteRegistration — new account signups tracked for audience buildingAll events include hashed customer data (email, name, phone, address) for Meta's customer matching, which improves attribution accuracy and lookalike audience quality.
In addition to server-side tracking, you can add a small JavaScript snippet to your Commerce7 storefront theme. This captures browser-side signals (page views, add-to-cart, checkout starts) and sends them to Meta alongside the server-side events.
This is optional. The core Purchase, Subscribe, Lead, and CompleteRegistration events work without the snippet. Adding the snippet gives Meta more top-of-funnel data for lookalike audience building.
<head> template and paste the snippet before the closing </head> tagOnce installed, the snippet will automatically report PageView, ViewContent, AddToCart, and InitiateCheckout events to Facebook. These can also be toggled on or off individually in the app settings.
Already using a Facebook Pixel on your storefront? That's fine — 1Pixel uses Meta's built-in deduplication to prevent the same event from being counted twice. You won't get inflated conversion numbers.
Use the tools in the Configuration tab to verify everything is working before relying on live data.
Validates your Pixel ID and Access Token by calling Meta’s API. A successful test confirms "Pixel credentials verified". If it fails, the error will indicate whether the token is invalid, expired, or the pixel ID is wrong.
The Configuration tab includes a Simulate events panel with a button for each event type:
All simulated events go to Meta’s Test Events tab (using your Test Event Code) and appear within seconds. They do not affect your real conversion data or event counts.
Before simulating: Copy your Test Event Code from Events Manager → Test Events, paste it into the app’s Test Event Code field, and save. After testing, clear the code so live orders go to production events.
The Event Log tab shows every conversion event sent to Meta, with live delivery status. The log updates automatically every 5 seconds — no refresh needed. Place a test order and watch it appear within moments.
Use the filter row to narrow the log by event type or status. Click Clear Log to reset the log — this does not affect any events already sent to Meta.
The Event Log tab shows Event Match Quality (EMQ) scores loaded from your Meta pixel. EMQ measures how well Meta matches your conversion events to real Facebook accounts — higher scores mean better ad attribution and lookalike audiences.
The app automatically sends all available matching signals with every event: email, first/last name, phone, city, state, ZIP, country, external customer ID, IP address, and browser signals (fbc, fbp) when the website snippet is installed. EMQ scores update in Meta after ~24 hours of real events.
The optional website snippet significantly boosts match quality by capturing browser cookies (_fbc, _fbp) from Meta ad clicks. These are matched to server-side events when the customer's email or IP address is recognized.
1Pixel supports sending events to two separate Facebook pixels simultaneously. This is useful for:
To enable a second pixel, expand the Secondary Pixel section in the Configuration tab and enter the second Pixel ID and its Access Token.
Both pixels receive the same payloads: Commerce7 server events (orders, clubs, etc.) and optional storefront snippet events. The manual Send test purchase uses your Test Event Code on the primary pixel only; the secondary pixel receives a duplicate without a test code.
The app automatically applies Meta's Limited Data Use (LDU) flag to conversion events for customers located in California. When LDU is active, Meta restricts how it uses that customer's data, consistent with CCPA requirements.
LDU is applied automatically when either of these conditions is true:
CA)facebook-limited-data-use set to trueNo manual configuration is required. All customer PII (email, name, phone, address) is SHA-256 hashed before being transmitted to Meta and is never stored in plaintext on our servers.
In the App Development Center, set the App Frame URL to include ?tenantId={{tenantId}} (Commerce7 replaces the placeholder). The Install URL must be your deployed https://…/auth/install. Commerce7 often POSTs without HTTP Basic auth unless you add optional username/password under Installation — the app accepts unauthenticated install webhooks by default. If you enable C7_REQUIRE_INSTALL_AUTH=true on the server, you must set matching Basic credentials in Dev Center (App ID = username, App Secret = password). After changing URLs or auth, submit a new app version if required.
Open 1Pixel from inside the Commerce7 admin (App Store / installed apps), not from a saved link or a direct browser tab. Production requires Commerce7’s signed admin session.
There is typically a 20–30 minute delay before server-side events appear in Meta Events Manager's main Overview tab. For real-time confirmation, use the Simulate events panel in the app — events sent with a Test Event Code appear in Meta's Test Events tab within seconds.
The app will automatically retry failed events. If delivery still fails after retries, check the error message in the log — common causes include an expired access token or a temporary Meta API outage. Regenerate your access token in Meta Events Manager if needed and update it in the app settings.
Go to Meta Events Manager → your pixel → Settings → Conversions API → Generate access token. Copy the new token and paste it into the app's Configuration tab, then click Save Settings.
No. Meta's deduplication system prevents double-counting as long as the same event ID is used for both the browser pixel event and the server-side event. The app and the optional storefront snippet both send matching event IDs automatically.
Yes. The app tracks all Commerce7 order types — online, tasting room, and POS. All order sources are reported as Purchase events in Facebook Ads.
Yes — each event type (Purchase, Subscribe, Lead, CompleteRegistration, and all website events) can be individually toggled on or off from the Configuration tab. You can also turn off all server and snippet forwarding with Enable server-side tracking.
Contact us at 7labs@dmitru.com with a description of the issue and your winery name. We typically respond within 1 business day.