Facebook Pixel comparison - Shopify vs Vitals
Last updated on October 19, 2026
Shopify's Facebook & Instagram channel and the Vitals Facebook Pixels app do different jobs, and they work best together. The Shopify channel is your main Meta pixel: it follows the shopper through checkout and reports the purchase. The Vitals app adds what the channel does not offer: extra pixels, pixels that are active only for specific collections or product tags, and a collection-view event.
The Vitals Facebook Pixels app does not send the Purchase event or any event from the checkout pages. Purchases are reported by Shopify's Facebook & Instagram channel (or another tracking app), so keep the channel connected.
Shopify vs Vitals at a glance
| Shopify's Facebook & Instagram channel | Vitals Facebook Pixels |
|---|---|
| one pixel per store | unlimited pixels |
| the pixel is active on every page of the store | each pixel can be active on the entire store, on specific collections or on specific product tags |
| sends PageView, ViewContent, Search, AddToCart, InitiateCheckout, AddPaymentInfo and Purchase | sends PageView, ViewContent, ViewCategory, AddToCart and InitiateCheckout |
| runs in the checkout and reports the Purchase | does not run in the checkout (Shopify apps cannot run there) and sends no Purchase and no checkout-page events |
| can also send events from Shopify's servers through Meta's Conversions API, with advanced matching, depending on the data-sharing level you choose | sends events from the shopper's browser only: no Conversions API and no advanced matching |
| creates a product catalog for dynamic ads | has no catalog of its own; you can pair your Vitals pixels with the Shopify catalog |
What the Vitals pixels send
Every pixel you add in Vitals receives these events from your storefront:
- PageView - on every page where the pixel is active.
- ViewContent - on product pages.
- ViewCategory - on collection pages. This is a custom event that Shopify's channel does not send, useful for audiences built on collection interest.
- AddToCart - when a product is added to the cart.
- InitiateCheckout - when the shopper clicks the checkout button on your storefront. This is the click that opens the checkout, not a completed order.
Nothing is sent after that click: AddPaymentInfo and Purchase are not sent by Vitals. A pixel that exists only in Vitals (for example a backup pixel, or a pixel for one collection) will therefore show no purchases in Meta.
Where the Vitals pixels are active
- Entire store - on all storefront pages.
- Specific collections - on the collection's page, on the product pages of its products and on the cart page when the cart holds one of them.
- Specific product tags - on the product pages of products with that tag and on the cart page when the cart holds one of them. Upper and lower case do not matter in the tag.
If several pixels are set up for the same collection or tag, all of them are active.
Using the same pixel in Shopify and in Vitals
You can add the pixel you connected in Shopify's Facebook & Instagram channel to Vitals as well. When the channel is running that pixel on a page, Vitals leaves PageView, ViewContent, AddToCart and InitiateCheckout to the channel and only adds what the channel does not send there: ViewCategory. This way the pixel also gets the collection-view event without the standard events being sent twice.
On a small share of visits, the channel starts later than Vitals. On those visits Vitals sends the events itself, so none is lost, and one of them can occasionally be counted twice.
Our recommendation
Keep your main pixel connected in Shopify's Facebook & Instagram channel: it is the one that reports Purchase and the checkout steps, and it can use the Conversions API. Use Vitals for additional pixels, for pixels that are active only on specific collections or product tags, and for the ViewCategory event. This more specific data helps you build better audiences and lookalikes for your ads.