How it works: Shopify to Meta Conversions API (CAPI)
What you can track
Here's what you can track with Littledata's Meta connection for Shopify.
All the events below are tracked by default. You can turn events off in the settings.
Client-side events
Event name
Description
ViewContent
A visit to a web page such as a product page or landing page
InitiateCheckout *
The start of a checkout process. For example, clicking the Checkout button
AddPaymentInfo *
The addition of customer payment information during a checkout process
Purchase *
Completing the checkout and viewing thank you page
* Only for stores with the Littledata Pixel connected
Server-side events
Event name
Description
AddToCart
The addition of an item to a shopping cart or basket. For example, clicking an Add to Cart button.
InitiateCheckout
The start of a checkout process. For example, clicking the Checkout button.
AddPaymentInfo
The addition of customer payment information during a checkout process. For example, a customer clicks to save their billing information.
Purchase
Completing the checkout and receiving an order confirmation
Post Purchase Upsell
The completion of an upsell purchase, that will contain only the newly added products.
Recurring Purchase
The completion of an automatic recurring purchase, such as a recurring order from Recharge subscriptions.
Note: Remove from cart, view item list and refund events are not officially supported by Meta Conversions API. This is a limitation on Meta's side, not Littledata's.
Lifetime value
For each Purchase and Recurring Purchase event, Littledata sends a parameter named predicted_ltv. This parameter contains the lifetime value of the user. We pull this information directly from Shopify and then make sure that it syncs correctly with Meta.
New customer vs returning customer conversions
We automatically track four types of Meta conversions. Here's a breakdown of each and how they work:
Conversion Name
What it tracks
Purchase
Every order from any customer is counted, except recurring orders.
New Customer Purchase - Littledata
Counts only the first time a customer purchases on Shopify
Returning Customer Purchase - Littledata
Counts every purchase of a customer, except the first one. This event also includes recurring orders.
First Recurring Purchase - Littledata
Only the first recurring purchase of a subscription customer
The default Purchase conversion will count any purchase event (except recurring orders) and should be the sum* of New Customer Purchase - Littledata and Returning Customer Purchase - Littledata events. &#xNAN;*Returning Customer Purchase - Littledata will include recurring orders as well, so total Purchase numbers might differ if your store runs subscriptions.
How Littledata improves the event match quality score
Littledata is sending all the parameters needed by Meta to perfectly match the events. Our Conversions API integration follows Meta's hashing requirements, ensuring that all parameters are received and processed to increase the event match quality.
The most important parameters are the user parameters. If an event does not have at least one user parameter, Meta will not accept said event.
Here are all the customer parameters that Meta uses.
Littledata sends all the parameters with the exception of:
external_id(any unique ID from the advertiser)fb_login_id(the ID issued by Meta when a person first logs into an instance of an app)lead_id(the ID associated with a lead generated by Meta's Lead Ads)ge(gender parameter)db(date of birth)
Action_source parameter
The action_source parameter is an indicator of where the conversion was made. Knowing this is a great way to ensure your ads are targeted in the right direction.
Littledata can send this parameter with only 3 values:
Value
Source
website
Online Store
system_generated
Subscription App
physical_store
POS Order
Fbp and fbc parameters
The most important parameters that we send are fbp and fbc cookies, which are the equivalent of the Google client ID. These parameters are vital in the event match quality score. That is why we implemented a way to always have an fbp available.
In the event that the fbp parameter cannot be retrieved (due to ad blockers), we will automatically generate an fbp and attribute it to the user so that the event match quality will not be impacted.
The fbp and fbc parameters are passed with server-side events as well to ensure the highest event match quality.
User agent and IP address
These parameters are also essential for the event match quality score. They work similar to fbp and fbc cookies but are easier to retrieve from the browser.
User agent and IP address are automatically added to the browser events, but we pass them to the server-side events as well so the event match quality can increase.
Besides fbp, fbc, user agent and IP address, there are other parameters that we send:
em- email of the user (hashed)ph- phone number of the user (hashed)fn- first name (hashed)ln- last name (hashed)ct- City (hashed)st- State (hashed)zp- zip code (hashed)country- Country of the user (hashed)subscription_id- sent with a recurring order
All of these parameters are passed from the browser to the server so that the right user is attributed to the event.
For a more detailed schema and parameters, reach out to [email protected].
Custom parameters
The following parameters are included with every event sent to Meta.
market_handle
The handle of the Shopify Market for this event. Fixed as unassigned\_market for orders not attributed to a market.
market_id
The internal Shopify Market ID for this event. Fixed as 0 for orders not attributed to a market.
Market parameters in Littledata events
All events sent to Meta include the Shopify Market handle by default. This allows you to break down ad performance by Shopify market in Meta's reporting, build market-specific Custom Audiences for retargeting, and allocate budgets more effectively across regions. For example, you can create separate audiences for customers from different markets, or exclude certain markets from campaigns entirely. This requires Shopify Markets to be active on your store, but does not require any per-market destination configuration within Littledata.
Last updated
Was this helpful?