We run a Square Online store with the Meta for Business sales channel connected (Online > Meta for Business). Our Meta catalog match rate (Commerce Manager > Events) is stuck at ~22% because of a content_id mismatch between our Meta Pixel events and our synced catalog.
Root cause: the Meta Pixel events fired by our Square Online storefront (POST to /app/cms/api/v1/sites/{site_id}/facebook/pixel-events) send content_id as the parent Square catalog Item ID. But the Facebook/Instagram catalog Square syncs via the “Square” app data source uses the Item Variation ID as the retailer_id - a different identifier for the same product.
Verified example (captured directly from a live AddToCart pixel event on our storefront):
- Product: “2026 Topps Football Super Box”
- Pixel event content_id: an Item ID (e.g. N3IZ42WP6JAHMIGZ5UNJFMVW)
- Catalog entry for the same product is keyed by its Item Variation ID (e.g. IEKD6BCS5VOSYI6ITTJIFXGE)
Meta’s own Commerce Manager diagnostics flagged additional mismatched content IDs from our pixel, and each one also resolves to a Square Item ID rather than the Item Variation ID the catalog holds - so this isn’t a one-off, it’s systemic. Since most of our products have a single “Regular” variation, this breaks catalog matching for nearly the entire catalog and blocks Advantage+ catalog / dynamic product ads.
I raised this with Square general support chat; they confirmed this needs the engineering team that owns the Meta for Business / pixel-catalog integration, since it’s a code-level ID alignment issue between the /facebook/pixel-events payload and the catalog sync, and pointed me here.
I have exact reproduction details - Meta Business ID, ad account ID, Pixel/Dataset ID, catalog ID, and several more verified Item ID / Item Variation ID pairs - ready to share. I’d rather not post those publicly; happy to provide them if a Square engineer replies here or reaches out.
Is this a known issue, and can someone from the Meta for Business integration team take a look?