Meta Ads
Meta Pixel Events: The Complete Setup and Mapping Guide
Map customer actions to events, check values and deduplication, and investigate tracking problems without assuming every discrepancy is lost data.
Start with the customer action you want to measure. Then check the event name, parameters, collection path and how the result appears in reporting. The goal is a documented measurement setup you can test and maintain.
TL;DR
Events to consider for the actions your Shopify store actually supports:
1. PageView (every page)
2. ViewContent (product page)
3. Search (search results)
4. AddToCart (after add to cart)
5. InitiateCheckout (reached checkout)
6. AddPaymentInfo (entered payment)
7. Purchase (order placed)
8. CompleteRegistration (account created)
Optional 9th: Lead (for service-business lead gen).
What standard events are
Standard events are pre-defined by Meta. They're optimized for, reportable, and built into ad account dashboards.
The full list:
What parameters matter
Each event can include parameters. The most important:
For Purchase
value (order total)currency (PHP)content_ids (product SKUs)content_type ("product")num_items (quantity)For ViewContent
content_idscontent_typevalue (product price)currencyFor AddToCart
content_idscontent_typevalue (item price × quantity)currencynum_itemsFor all events (Advanced Matching)
em (email, hashed)ph (phone, hashed)fn (first name, hashed)ln (last name, hashed)ct (city, hashed)zp (zip code, hashed)country (hashed)external_id (your customer ID, hashed)Use only permitted matching data in the format documented for the integration. More parameters do not guarantee more accurate attribution.
How to install (Shopify)
1. Settings → Sales channels → Facebook & Instagram → connect.
2. Enable Pixel in the channel.
3. Enable Conversions API.
4. Enable Customer Data Sharing (advanced matching).
Check the events and parameters sent by the selected Shopify integration; installation alone does not verify every customer path.
How to install (custom site)
Install the base code supplied for the correct pixel in Events Manager, following the current integration instructions. Check existing implementations before adding another one.
The event calls below are examples. Replace the sample product identifiers, values and currency with the data for the actual customer action.
Then trigger events on specific actions:
// Product page
fbq('track', 'ViewContent', {
content_ids: ['SKU-123'],
content_type: 'product',
value: 1290.00,
currency: 'PHP'
});
// Add to cart
fbq('track', 'AddToCart', {
content_ids: ['SKU-123'],
content_type: 'product',
value: 1290.00,
currency: 'PHP',
num_items: 1
});
// Purchase
fbq('track', 'Purchase', {
content_ids: ['SKU-123', 'SKU-456'],
content_type: 'product',
value: 2380.00,
currency: 'PHP',
num_items: 2
});
Custom events
Sometimes standard events aren't enough. Custom events let you track specific actions:
fbq('trackCustom', 'JoinedWaitlist', {
product_name: 'Vanilla Hair Oil',
source: 'productpage'
});
Custom events:
When to use:
AEM priority mapping
Check the current event and attribution settings available in the account. Do not add a manual eight-event ranking step because an older tutorial includes it. Record the business outcome, selected event, collection method, value definition and attribution window separately. Validate the actual customer path and investigate differences against order or lead records.
Value optimization
Choose an available value-based performance goal only after checking the event value and currency. Order revenue, contribution and lifetime value are different definitions. Record which one is supplied rather than assuming that a value-based goal models them all.
Testing your events
Tools:
1. Meta Pixel Helper (Chrome extension)
Install. Visit your site. Helper shows which events fired.
For each event, check:
2. Test Events tab in Events Manager
Events Manager → your Pixel → Test Events.
Add your test browser/device. Browse your site. Events appear in real-time.
3. Diagnostics tab
Events Manager → Diagnostics. Shows any events with quality issues, missing parameters, or duplicates.
Common problems
Duplicate events
Pixel + CAPI can fire the same event twice if not properly deduplicated.
Fix: ensure event_id is consistent across browser and server. Meta auto-deduplicates if event_id matches.
Missing currency
Without currency, value tracking breaks. Always include.
Wrong content_ids
If your Pixel content_ids doesn't match your Catalog SKUs, dynamic product ads (DPA) break.
Fix: use consistent SKU format across Pixel and Catalog.
Pixel firing on every page (PageView only)
If only PageView fires, your custom events aren't installed correctly. Check theme integration.
Custom Conversions
Built from existing events with conditions:
→ "Skincare browser"
You can optimize and build audiences off Custom Conversions.
When to use:
Server-side via CAPI
A server integration is another collection path, not permission to bypass consent or platform data restrictions. Check browser and server events together, including deduplication, timing, currency and value.
What to do this week
1. Inventory existing theme, app and channel integrations.
2. Check the data-sharing and privacy settings with the business owner.
3. Test the events relevant to the store, including the server-side path.
4. Verify that one action is not counted twice.
5. Compare purchase values with the documented order-value definition.
6. Record limitations before using attributed results for budget decisions.
Shopify documents its integration options in the Meta data-sharing guide. A tracking repair does not establish a fixed ROAS improvement.
Want help auditing your Pixel?
Share your current implementation and the discrepancy you are investigating. The Meta Ads service can include measurement work when that scope is agreed.
Related reading:
Apply it to your account
Need help applying it?
Share your website, goal and current setup. We can discuss whether the project is a fit and agree on the scope before work starts.
Get a project review ↗