The BigCommerce Meta pixel integration sends your shoppers’ behavioral data to Meta to enhance the efficacy of your Meta advertising and reporting.
Our solution includes support for Meta's JavaScript tracking pixel, which is set up as a first-party cookie. We also support Facebook's Conversions API, which acts as a fallback mechanism to address situations where data is not sent via the JavaScript tracking pixel.
For merchants providing shoppers with the ability to set their data privacy preferences, shopper data is only shared with Meta if they provide consent to the "Targeting; Advertising" category.
Requirements
- If you have not already done so, you’ll need to create a Meta pixel.
- You need to be able to log in to the Facebook account that owns the Meta Pixel you want to use.
Setting Up Meta Pixel in BigCommerce
Go to Advanced Settings › Data Solutions. Under Web analytics, click Connect next to Meta Pixel.
Click the Connect with Meta Pixel button. You will be redirected to Facebook to log in or to confirm the currently logged-in account is the correct one. Click Continue as… once you are logged in with the correct account.
Click Continue to connect BigCommerce to Facebook.
Select your Business Manager, Facebook Page, and Meta Pixel, then click Continue.
For What is BigCommerce allowed to do, leave all options enabled and click Next.
Once connected, you’ll see a success message. Click Done to return to BigCommerce.
Edit Connection / Disconnect
After setup, if you need to change any of your settings (like which Facebook account, Business Manager, Facebook Page, or Meta Pixel to use), go to Advanced Settings › Data Solutions and click on Meta Pixel. Click Edit connection to be redirected to Facebook and go through the setup process again.
To stop sending data to Facebook, click Disconnect.
Event Data Sent to Meta
Data is shared with Meta in the form of events. An event occurs when a shopper performs a specific action at a specific moment in time. Below you'll find detailed information on what events are supported by BigCommerce.
Meta Javascript Pixel Field | Meta Conversions API Field | Example value sent to Meta | Description |
id | event_id | 1234567891234 | Randomly generated event id, unique per event per storefront |
ev | event_name | PageView | Name of the event |
dl | event_source_url | https://site.com | Direct link / URL |
N/A | action_source | "website" or "physical store" | |
rl | N/A | https://google.com | Redirect link / URL (previous page) |
ts | event_time | 1609436797071 | Timestamp |
fbc | Not supported | fb.1.1609264779718... | When a user clicks on an ad on Facebook, the link sometimes includes a fbclid query parameter. When the user lands on the target website, if the website has a Meta pixel that uses first-party cookies, the pixel automatically saves the fbclid query parameter to an _fbc cookie for that website domain. See About Cookie Settings For Your Meta Pixel for information on first-party cookie settings. Source |
fbp | fbp | fb.1.1609261681576.1975923224 | When the Meta pixel is installed on a website, and the pixel uses first-party cookies, the pixel automatically saves a unique identifier to an _fbp cookie for the website domain if one does not already exist. Source |
DATA PROCESSING PARAMETERS | |||
dpo | data_processing_options | This is set to "LDU" if shopper has not provided consent and the store is not using the shopper cookie consent features. If we have shopper consent this is left blank. | |
dpoco | data_processing_options_country | 0 | |
dpost | data_processing_options_state | 0 | |
ADVANCED MATCHING PARAMETERS SENT WHEN SHOPPER IS LOGGED IN FOR ALL EVENTS | |||
fn | fn | 755581aab5df6cff1f739a1c5b... | Customer's first name hashed |
em | em | 75c40012ccd761ab5e77dc8c... | Customer's email hashed |
ln | ln | b1f74ef7ff3e7dfa1a0541915e1... | Customer's last name hashed |
Additional fields automatically sent and outside of BigCommerce control | |||
client_ip_address | Not supported | ||
client_user_agent | user_agent |
Event Name: PageView
Javascript tracking pixel sends an event when a shopper visits any storefront web page.
Conversions API sends an event when a shopper visits one of the following web pages:
- Home Page
- Product Category Pages
- Product Detail Pages
- Web Pages
Event Name: ViewContent
Javascript tracking pixel sends an event when a shopper visits a product detail page.
Conversions API uses the same logic.
Meta Javascript Pixel Field | Meta Conversions API Field | Example value sent to Meta | Description |
content_type | content_type | product_group | Denotes the parent/base product. |
content_ids | content_ids | ["13"] |
BigCommerce Product ID |
value | value | 220 |
BigCommerce Product Sale Price |
currency | currency | USD |
Event Name: ViewCategory
Javascript tracking pixel sends an event when a shopper visits a product category page.
Custom parameters sent:
Meta Javascript Pixel Field | Example value sent to Meta | Description |
content_type | product_group | Denotes the parent/base product. |
content_ids | [ ] | This was left blank and did not include an array of products shown on the category page. |
content_category | Carmen's Bicycle | The name of the product category |
Event Name: Search
Javascript tracking pixel sends an event when a shopper lands on the search result page. This applies to the overlay modal that displays search results.
Custom parameters sent:
Meta Pixel Field (via Javascript) | Example value sent to Meta | Description |
content_ids | ["1","6","18"] | BigCommerce Product ID |
content_type | product_group | Denotes the parent/base product. |
search_string | bicycle | This is the search string the shopper entered |
Event Name: CompleteRegistration
Javascript tracking pixel sends an event when a shopper creates an account on the storefront through the account signup flow (does not apply to checkout flow).
Conversions API uses the same logic.
Server parameters sent:
Meta Conversions API Field | Example value sent to Meta |
action_source | "website" or "physical_store" |
Event Name: AddToCart
Javascript tracking pixel sends an event when a shopper adds an item to a cart.
Conversions API uses the same logic.
Custom parameters sent:
Meta Javascript Pixel Field | Meta Conversions API Field | Example value sent to Meta | Description |
content_ids | content_ids | ["93"] | |
content_type | content_type | "product_group" |
Server parameters sent:
Meta CAPI Field (via Conversions API) | Example value sent to Meta |
action_source | "website" or "physical_store" |
Limitations:
- If the shopper sets the quantity to 2 or more this is ignored when calculating the value sent. The value calculation always assumes a quantity of 1.
- Quantity changes on the cart page are not recorded.
- If an item is removed from the cart, that is not recorded.
- For CAPI the event_source_url (aka dl for direct link; aka request url) is not supported for this event.
Event Name: InitiateCheckout
Javascript tracking pixel sends an event when the shopper visits the checkout page.
Event Name: AddPaymentInfo
This is generated when a shopper completes an order on the order confirmation page.
Custom parameters sent:
Meta Pixel Field (via Javascript) | Example value sent to Meta |
content_ids |
[88,93] |
content_type | product_group |
Event Name: Purchase
Javascript tracking pixel sends this event when a shopper completes an order on the order confirmation page.
Conversions API sends this event whenever an order is placed, even if for some reason the shopper does not make it to the order confirmation page. This is limited to orders placed through your online storefront.
Custom parameters sent:
Meta Pixel Field (via Javascript) | Meta CAPI Field (via Conversions API) | Example value sent to Meta | Description |
content_type | content_type | product_group | Denotes a product. |
content_ids | content_ids | [88,93] | |
contents [ ] | contents [object] | "88" | |
contents.discount | N/A | 0 | Discount |
contents.id | contents.id | 88 | BigCommerce Product ID |
contents.item_price | contents.item_price | 23.45 | Product's item price for 1 quantity Excluding Taxes |
contents.name | N/A | [Sample] Chemex Coffeemaker 3 Cup | BigCommerce Product Name |
contents.price_ex_tax | 49.5 | Product's item price for 1 quantity Excluding Taxes | |
contents.quantity | contents.quantity | 1 | Quantity |
contents.sku | N/A | CC3C | BigCommerce Product SKU |
contents.total_ex_tax | N/A | 49.5 | BigCommerce Product Price * Quantity Excluding Taxes |
currency | currency | USD | |
value | value | 63.5 | The sum of all order line items with... shipping and taxes excluded all discounts included |
Server parameters sent:
Meta Conversions API Field | Example value sent to Meta |
action_source | "website" or "physical_store" |
Event Name: Lead (subscribe to newsletter)
Javascript tracking pixel sends this event when a shopper subscribes to the newsletter and gets to the subscribe.php page.
Event Name: AddToWishList
Javascript tracking pixel sends this event when a shopper adds an item to their wishlist.
Custom parameters sent:
Meta Pixel Field (via Javascript) | Example value sent to Meta | Description |
content_ids | ["86"] | BigCommerce Product ID |
content_type | product_group | Denotes the parent/base product. |
FAQ
Can I have a different Meta Pixel for each storefront?
Yes. By default, the Meta Pixel information set up in Advanced Settings › Data Solutions is “global” and applies to all connected storefronts. To override this, go to Channel Manager and click your storefront name. In the left navigation, go to Data solutions, then click Connect next to Meta Pixel.