Overview
You'll learn how to synchronize your Webflow eCommerce product IDs with Facebook Catalog Ads so Meta can match your products when someone views, adds to cart, or purchases items from your store. This enables Facebook Dynamic Product Ads, accurate conversion tracking, and proper attribution of sales to specific products in your catalog.
Watch this step-by-step video guide:
Prerequisites
PixelFlow installed and configured on your Webflow site (see Webflow Setup)
Webflow eCommerce plan active with products created
Facebook Business Manager account with a Product Catalog created
SKU values assigned to all products in your Webflow CMS
Access to Webflow Designer with edit permissions
Compatibility
This feature works with:
Webflow eCommerce: Standard checkout and order confirmation pages
Supported Events: Purchase, InitiateCheckout, AddToCart, ViewContent
Facebook Catalog Types: E-commerce catalogs for Dynamic Product Ads
Product ID Sources: Webflow product SKU field (recommended)
Why product ID synchronization matters: When your Webflow product IDs (SKUs) match the product IDs in your Facebook Product Catalog, Meta can track which specific products users interact with, enabling personalized retargeting ads and accurate conversion reporting.
Before You Begin
SKUs must match exactly: The SKU values in your Webflow products must exactly match the product IDs in your Facebook Product Catalog. Even small differences like capitalization, spaces, or special characters will prevent Facebook from matching products correctly.
Set up your Facebook Product Catalog first: Before implementing this guide, ensure you have a Facebook Product Catalog created in Commerce Manager with all your products uploaded. The product IDs in your catalog should match your Webflow SKUs.
Understanding Product ID Synchronization
When someone interacts with your Webflow store, PixelFlow sends event data to Meta including:
content_ids — An array of product IDs (SKUs) that were viewed, added to cart, or purchased
content_type — Set to "product" for eCommerce events
contents — Detailed product information including ID, quantity, and price
Facebook matches the content_ids from PixelFlow events with the product IDs in your Facebook Product Catalog. When IDs match, Facebook can:
Show Dynamic Product Ads featuring the exact products users viewed
Retarget users with personalized ads based on their browsing behavior
Attribute conversions to specific products in your catalog
Optimize ad delivery based on which products drive the most sales
Step 1: Assign SKUs to Your Webflow Products
First, ensure all your Webflow products have SKU values that match your Facebook Product Catalog:
Log in to your Webflow account and open your project
Navigate to the CMS section in the left sidebar
Click on Ecommerce and select Products
Click into each product to open the product editor
Scroll down to the SKU field
Enter a unique SKU that matches the product ID in your Facebook Product Catalog
Click Save and repeat for all products
Use consistent SKU format: Choose a SKU format and stick with it across all products. Common formats include numeric (1001, 1002, 1003), alphanumeric (PROD-001, PROD-002), or descriptive (TSHIRT-RED-M, TSHIRT-BLUE-L).
Step 2: Add Product SKU to Webflow Checkout Page
Now you'll add the SKU to your Webflow checkout page so PixelFlow can extract it and send it to Meta:
In Webflow Designer, navigate to the Pages panel
Scroll down and click on the Checkout page to open it
Locate the Order Items section where products are displayed in the cart
Click the + Add button to add a new element
Select Text Block from the element menu
Drag and drop the Text Block into the product item container (within the order items list)
Automatic CMS binding: When you add a Text Block to the checkout page's order items section, Webflow will automatically detect it's within a product collection and offer to bind it to product data.
Step 3: Bind the Text Block to the SKU Field
With the Text Block selected, a popup will appear asking "Get text from Products"
Click on the dropdown or Show all settings
From the field list, select SKU
The Text Block will now display the SKU value for each product in the cart
The SKU will now appear dynamically for each product based on the CMS data.
Step 4: Add the PixelFlow Product ID Class
Add the PixelFlow class so the product ID can be tracked and sent to Meta:
With the SKU Text Block still selected, look at the Style panel on the right
At the top of the Style panel, click into the Selector field
Type
info-itm-id-pfand press EnterThe class will be added to the element
You can find this class name in the PixelFlow Classes Document under the eCommerce section.
What the class does: The info-itm-id-pf class tells PixelFlow that this element contains the product ID. When an event fires (like InitiateCheckout or Purchase), PixelFlow extracts this value and includes it in the content_ids array sent to Meta.
Step 5: Hide the SKU from Customers (Optional)
If you don't want customers to see the SKU on the checkout page, you can hide it while still allowing PixelFlow to track it:
With the SKU Text Block selected, scroll down in the Style panel to the Layout section
Find the Display setting
Change Display from the default to None
The SKU will now be hidden from view but still present in the HTML for PixelFlow to extract
Hidden tracking works perfectly: PixelFlow can extract product IDs from hidden elements just as effectively as visible ones. Many stores prefer to hide SKUs for a cleaner checkout experience while maintaining accurate tracking.
Step 6: Configure PixelFlow Event URL Tracking
Set up automatic data extraction for your checkout and order confirmation pages to prevent duplicate events from Webflow's built-in tracking:
Log in to your PixelFlow dashboard at pixelflow.so/dashboard
Navigate to the Overview page
Locate the Events URLs section
Click + Add URL
For Checkout Page (InitiateCheckout Event):
Enter your checkout page URL (e.g.,
yoursite.com/checkout)Select Initiate Checkout from the Event dropdown
Toggle "Extract data automatically?" to ON
Ensure "Block external tracking?" is toggled ON (this prevents Webflow from sending duplicate events)
Click Add URL
For Order Confirmation Page (Purchase Event):
Click + Add URL again
Enter your order confirmation page URL (e.g.,
yoursite.com/order-confirmation)Select Purchase from the Event dropdown
Toggle "Extract data automatically?" to ON
Ensure "Block external tracking?" is toggled ON
Click Add URL
Prevent duplicate events: Webflow eCommerce has built-in Meta Pixel tracking that sends events from the browser. By enabling "Block external tracking?" PixelFlow will block Webflow's native tracking to prevent duplicate Purchase and InitiateCheckout events in Meta Events Manager.
Automatic extraction enabled: With automatic data extraction turned on, PixelFlow will capture currency, number of items, value, product IDs, and other eCommerce data directly from Webflow's standard checkout structure without requiring additional classes.
Step 7: Update and Publish Your Webflow Site
After adding the SKU element and class in Webflow, click Publish in the top-right corner
Select your production domain
Click Publish to selected domains
Your changes are now live
Step 8: Verify Product ID Synchronization
Test that your Webflow product IDs are being sent to Meta correctly:
Using Meta Pixel Helper Chrome Extension
Install the Meta Pixel Helper Chrome extension
Open your live Webflow store in Chrome
Add a product to your cart
Navigate to the checkout page
Click the Meta Pixel Helper icon in your browser toolbar
Look for the InitiateCheckout event
Expand the event details and verify:
content_type: product
contents: Array showing product ID, quantity, and price
content_ids: Array containing your product SKUs
Pixel Helper is essential for troubleshooting: The Meta Pixel Helper Chrome extension shows exactly what data is being sent with each event in real-time, making it easy to verify that product IDs match your Facebook Catalog.
Using Facebook Events Manager
Select your Pixel from the Data Sources
Click on Test Events in the left sidebar
Complete a test checkout on your Webflow store
Return to Test Events and locate your InitiateCheckout or Purchase event
Click on the event to expand details
Verify the content_ids parameter contains your product SKUs
Confirm the SKU values match the product IDs in your Facebook Product Catalog
Using PixelFlow Dashboard
Log in to your PixelFlow dashboard
Navigate to Events or Analytics
Find your recent test event (InitiateCheckout or Purchase)
Click to expand event details
Verify the content_ids field shows your product SKUs
Confirm product name, price, and quantity are also captured
Successful synchronization: If you see your product SKUs in the content_ids field and they match your Facebook Product Catalog IDs, your synchronization is working correctly. Meta can now match your Webflow products with your Facebook Catalog for Dynamic Product Ads.
Setting Up Facebook Dynamic Product Ads
Once product ID synchronization is working, you can create Dynamic Product Ads in Facebook Ads Manager:
Open Facebook Ads Manager
Click Create to start a new campaign
Choose Sales or Catalog Sales as your objective
Select your Facebook Product Catalog
Choose your retargeting audience (e.g., people who viewed products, added to cart, or initiated checkout)
Facebook will automatically show personalized ads featuring the exact products users interacted with on your Webflow store
Dynamic ads drive higher conversions: Dynamic Product Ads can increase conversion rates by up to 30% compared to standard ads because they show users the exact products they previously viewed, creating highly personalized retargeting experiences.
Troubleshooting
Symptom | Likely Cause | Solution |
|---|---|---|
Product IDs not appearing in Meta events | The | Verify the class is applied to the Text Block containing the SKU on your checkout page. Use browser DevTools to inspect the element. |
Facebook Catalog shows "0 products matched" | SKU values in Webflow don't match product IDs in Facebook Catalog | Open both your Webflow CMS and Facebook Product Catalog side-by-side and verify the SKUs match exactly, including capitalization and formatting. |
Duplicate events appearing in Events Manager | "Block external tracking?" is not enabled in PixelFlow | Go to your PixelFlow dashboard, edit your event URLs, and ensure "Block external tracking?" is toggled ON for both checkout and order confirmation URLs. |
Content IDs show as empty array | SKU field is empty in Webflow products, or text block not bound to SKU field | Verify all products have SKU values assigned in Webflow CMS. Confirm the Text Block is bound to the SKU field using "Get text from Products." |
Product IDs appear but catalog ads don't work | Facebook Product Catalog not set up or products not approved | Verify your Facebook Product Catalog is created in Commerce Manager, all products are uploaded, and there are no policy violations preventing ads. |
Meta Pixel Helper shows no events | PixelFlow script not installed or ad blocker is active | Verify the PixelFlow script is in Webflow Custom Code > Head Code section. Disable ad blockers and test in incognito mode. |
Best Practices for Product Catalog Synchronization
Keep SKUs consistent: Never change SKU values once set unless you also update your Facebook Product Catalog
Use SKU for all products: Don't leave any products without a SKU value, as they won't be trackable in Meta
Match catalog structure: If you use product variants (sizes, colors), ensure your Webflow SKUs and Facebook Catalog structure align
Test regularly: After adding new products, always test that their SKUs are being tracked correctly
Monitor event match quality: Check your event match quality score in Meta Events Manager—properly synchronized product IDs help improve this score
Update catalog regularly: Keep your Facebook Product Catalog in sync with your Webflow inventory, removing discontinued products and adding new ones
Limitations
SKU field is required: Product synchronization only works if you use Webflow's SKU field. Custom CMS fields are not automatically supported without additional configuration
Exact match required: Facebook requires exact SKU matches—even minor differences prevent catalog matching
Standard checkout pages only: Automatic data extraction works with Webflow's standard checkout layout. Custom checkout implementations may require additional class configuration
Facebook Catalog approval: Products must be approved in your Facebook Product Catalog before they can appear in Dynamic Product Ads
Chrome-only for Pixel Helper: The Meta Pixel Helper extension only works in Chrome browsers for testing and verification
What's Next
Now that your Webflow product IDs are synchronized with Facebook Catalog Ads, you can:
Set up Facebook Dynamic Product Ads to retarget users who viewed or added products to cart
Track additional events on product pages using Event Classes on Webflow
Enable Auto Track Webflow eCommerce Functionality for automatic data extraction
Learn about Event Parameters to further enrich your tracking data
Create retargeting audiences in Facebook Ads Manager based on product interactions
Getting Help
If you're experiencing issues with product ID synchronization:
Verify the
info-itm-id-pfclass is applied to the SKU Text Block on your checkout pageUse the Meta Pixel Helper Chrome extension to confirm product IDs are being sent with events
Check that SKU values in Webflow exactly match product IDs in your Facebook Product Catalog
Ensure "Block external tracking?" is enabled in PixelFlow to prevent duplicate events
For additional support:
Email PixelFlow support at [email protected]
Book a free setup call for personalized assistance
When contacting support, please provide:
Your Webflow site URL
Screenshots from Meta Pixel Helper showing event data
Sample SKU values from both Webflow and Facebook Catalog
Whether you're seeing events in Facebook Events Manager Test Events
Screenshots of your PixelFlow event URL configuration