Meta Best-Practice Setup
Last updated: June 30, 2026
1. Why Your Setup Matters
Meta relies on datasets, catalogs, and product data to connect user interactions, purchases, and products. These connections form the foundation for attribution, reporting, campaign optimization, and catalog-based ad formats.
If your setup is not configured correctly, Meta can no longer reliably match purchases, products, and user interactions. This often leads to inaccurate optimization signals and unreliable performance data.
Common issues caused by an incorrect setup include:
Over-attributed purchases
Duplicate conversions
Low Catalog Match Rates
Incomplete reporting
Poor Catalog Ad performance
Inconsistent campaign results
To avoid these issues, we recommend keeping your datasets, catalogs, and product identifiers as simple and consistent as possible. The best practices below will help you avoid common setup mistakes and build a reliable foundation for reporting and campaign optimization.
2. Dataset Best Practices
2.1 Use Only One Tracking Source per Dataset
Before reviewing any other settings, make sure that your Mable-connected Meta dataset receives data exclusively from Mable.
Once Mable is your primary tracking solution for Meta, any other tracking sources sending the same events to the same dataset should be disabled.
Common additional tracking sources include:
Shopify Facebook & Instagram App
Meta Pixel implemented through Google Tag Manager
Meta Pixel via Shopify Customer Events
Manually implemented Meta Pixels
Other server-side tracking solutions
Additional third-party tracking tools
If multiple sources send the same events to the same dataset, Meta may record the same user interactions more than once.
This often results in:
Duplicate purchases
Inflated conversion values
Incorrect attribution
Inconsistent reporting
Distorted optimization signals
Reduced algorithm performance because Meta assumes better results than were actually achieved
2.1.1 How to Check Whether a Dataset Is Affected by Overtracking
There are several ways to determine whether multiple tracking sources are sending data to the same Meta dataset.
Option 1: Compare with Mable Order Analysis
One simple approach is to compare the number of orders tracked by Mable with the number of Purchase events recorded in your Meta dataset.
In Mable:
Analytics → Order Analysis
In Meta:
Events Manager → Select Dataset → Overview → Purchase Event
A small difference is expected. However, significant discrepancies may indicate that multiple tracking sources are sending the same purchases to Meta.
⚠ Important: Always compare the same date range in both systems.
Option 2: Compare with Mable Event Control
You should also verify that the events visible in your Meta dataset match the events configured in Mable Event Control.
Navigate to:
Mable Dashboard → Optimizations → Event Control → Meta
Then:
Note the events configured in Mable.
Open the corresponding dataset in Meta Events Manager.
Review the incoming events under Overview.
If you see events in Meta that are not configured in Mable Event Control (for example, Search), this usually indicates that another tracking source is sending events to the same dataset.
Option 3: Compare Browser and Server Events
Within Meta Events Manager, you can also compare the number of Browser and Server events.
If substantially more browser events than server events are being received, this is often a sign that an additional frontend pixel is active and sending duplicate events to Meta.
2.1.2 What to Do If Overtracking Is Detected
If your dataset records significantly more Purchase events than actual orders—or if you've identified additional tracking sources—you should review which data sources are connected to the dataset.
For example, if the Shopify Facebook & Instagram App is still sending data to the same dataset, you can resolve this by disabling Shopify's data sharing.
For step-by-step instructions, see ⬇:
How to Update Facebook & Instagram Channel Settings
2.2 Use a Single Active Dataset per Ad Account Whenever Possible
As a general best practice, we recommend using only the Mable Dataset for campaigns within a Meta ad account.
The primary reason is to avoid duplicate attribution, which can occur when multiple datasets are used for the same store.
Here's why:
Meta attributes conversions separately for each dataset.
If multiple datasets are connected to the same store, each dataset may record the same purchase.
For example, imagine two campaigns:
Campaign A optimizes for an event from Dataset 1
Campaign B optimizes for an event from Dataset 2
If a user interacts with both campaigns before making a purchase, the same conversion may be attributed to both campaigns because each dataset tracks it independently.
This can result in:
Duplicate purchase attribution
Inflated conversion counts
Inflated conversion values
Inflated ROAS
Misleading campaign performance
2.3 When Multiple Datasets Make Sense
In most cases, we recommend using a single active dataset per store.
There are, however, a few scenarios where multiple datasets may be appropriate.
Multiple Stores
If you operate multiple independent stores, using separate datasets may be the right approach.
Whether multiple datasets are actually necessary—or whether a shared setup is more suitable—depends on your specific use case and should be evaluated individually.
Multiple Markets
Using multiple datasets can also make sense when events are intentionally separated by market, for example:
Germany
France
United States
However, this approach is only recommended if each market generates enough event volume for Meta's algorithm to learn effectively.
Meta A/B Tests
Another exception is running official Meta A/B Tests.
Meta separates audiences automatically during these tests, allowing results to be compared without attribution overlap.
To ensure valid test results, the setup must be configured correctly so that the outcome can be interpreted reliably.
If you're planning to run a Meta A/B test, we recommend reaching out to us beforehand. We can provide our dedicated A/B testing guide and help you verify that your test is set up correctly.
3. Catalog & Product Matching Best Practices
3.1 Why Catalogs Matter
Meta uses catalogs to associate products with user interactions.
This enables features such as:
Advantage+ Catalog Ads
Product Retargeting
Automatic Product Recommendations
For these features to work, Meta must be able to identify exactly which product was viewed, added to the cart, or purchased.
The simpler and more structured your catalog setup is, the more reliable this product matching becomes.
3.2 Use One Catalog per Dataset
As a general best practice, we recommend:
1 Catalog = 1 Dataset
Ideally, each catalog should be connected to only one dataset.
If multiple datasets are connected to the same catalog, the same purchases may be tracked by both datasets and attributed multiple times.
This often results in:
Over-attribution in Catalog Ads
Inflated purchase, conversion value, and ROAS reporting for Catalog Ads
Reduced campaign performance due to conflicting optimization signals
3.3 Use One Dataset per Catalog
Likewise, we recommend:
1 Dataset = 1 Catalog
Ideally, each dataset should be connected to only one catalog.
If a dataset is connected to multiple catalogs containing the same products, each purchase can only be attributed to one of those catalogs.
This may result in situations where:
Some purchases are attributed to Catalog A
Others are attributed to Catalog B
Catalog Match Rates decrease in one or both catalogs
Catalog Ads perform less effectively
In practice, this often leads to weaker Catalog Ad performance.
3.4 Exceptions: Multiple Catalogs
Using multiple catalogs with a single dataset is appropriate only if the catalogs contain completely different products with no overlap.
Example 1
Catalog A = Supplements
Catalog B = Pet Products
Example 2
Catalog DE = Products sold in Germany
Catalog US = Products sold in the United States
Requirement: Products in the German and US catalogs must use completely different Content IDs.
In these scenarios, a single dataset can safely be connected to multiple catalogs.
However, if the same products appear in multiple catalogs, we strongly recommend using only one catalog.
Especially in the first example, our recommendation is to maintain one comprehensive catalog containing all products and use Product Sets for campaign segmentation instead of creating multiple separate catalogs.
3.5 Product Matching & Catalog Match Rate
3.5.1 Why Product Matching Matters
Meta uses Content IDs to associate purchases with products in your catalog.
Whenever a product-related event is sent to Meta, such as:
ViewContent
AddToCart
Purchase
Meta compares the transmitted Content ID with the products stored in your catalog.
Only when both IDs match can Meta correctly identify the product.
How Catalog Match Rate Is Calculated
The quality of this matching process is reflected in the Catalog Match Rate.
Catalog Match Rate measures the percentage of product events that Meta successfully matches to products in your catalog.
A high match rate indicates:
Correct Content IDs
Successful product matching
A properly configured catalog connection
This, in turn, improves the performance of Catalog Ads.
A low Catalog Match Rate typically points to product matching issues.
Common causes include:
An incomplete Meta Catalog
Incorrect Content IDs
Multiple catalogs with overlapping products connected to the same dataset
Inconsistent product data
Incorrect catalog connections
Meta recommends maintaining a Catalog Match Rate above 90%.
Why Catalog Match Rate Is Important
The better your product matching, the better Meta can:
Retarget products
Optimize Advantage+ Catalog Ads
Predict purchase intent
Generate relevant product recommendations
A low Catalog Match Rate often means Meta recognizes user interactions but cannot associate them with specific products.
As a result, the algorithm receives fewer usable signals, which can negatively impact the performance of catalog-based campaigns.
3.5.2 Product Identifiers Used by Shopify
Shopify uses three different product identifiers.
Product ID
The Product ID is automatically generated by Shopify and exists at the product level.
All variants of the same product share the same Product ID.
Product Variant ID
The Product Variant ID is also automatically generated by Shopify.
Each product variant receives its own unique Variant ID.
Even products without visible variants have a default Variant ID internally.
SKU
The SKU is managed manually.
It is not generated by Shopify and can be defined individually by the merchant.
3.5.3 Which Product Identifier Should Mable Send to Meta?
For successful product matching, the specific identifier doesn't matter.
What matters is that Mable sends the same identifier that your Meta Catalog uses as its Content ID.
Examples
Catalog uses Product Variant IDs → Mable should send Product Variant IDs ✅
Catalog uses SKUs → Mable should send SKUs ✅
Catalog uses SKUs, but Mable sends Product IDs → Product matching will fail ❌
You can configure the identifier Mable sends to Meta here:
Store Settings → Destination Connection → Meta → Manage Connection → Catalog
Available options include:
Product ID
Product Variant ID
SKU
For detailed instructions, see:
How to Connect Your Shopify Catalog to Meta
⚠ Important:
The identifier selected in Mable must always match the Content ID used in your Meta Catalog. Only then can Meta correctly match products and achieve a high Catalog Match Rate.
3.5.4 How to Identify the Content ID Used by Your Catalog
Before configuring the product identifier in Mable, you should first determine which Content ID your existing Meta Catalog uses.
Open the relevant catalog in Meta Commerce Manager, navigate to Products, and open any product.
In the product details, you'll find the Content ID field.
Compare this value with the identifiers in Shopify to determine which identifier type your catalog uses.
There are two ways to do this.
Method 1: Compare the Shopify URL
If the Content ID matches the number after
/products/, your catalog uses Product IDs.If it matches the number after
/variants/your catalog uses Product Variant IDs.If it matches the product's SKU, your catalog uses SKUs.
Method 2: Compare Using Shopify JSON (Recommended)
Find the product in Shopify, open it, and append .json to the end of the product URL.
Search the JSON response for the Content ID.
The field where it appears identifies the ID type:
product.id→ Product IDvariants.id→ Product Variant IDsku→ SKU
Once you've identified the Content ID type used by your catalog, configure the same identifier in Mable as described in Section 3.5.3.
For detailed instructions, see:
How to Identify the Product Identifier Used in Your Meta Catalog
3.5.5 Shopify App vs. Manually Created Catalogs
If your catalog was created using the official Meta & Shopify integration, it will typically use Product Variant IDs as its Content IDs.
In that case, Product Variant ID is usually the correct setting in Mable.
However, if your catalog was created using other methods—for example:
Channable
Feed management tools
CSV imports
Manual product imports
—you should always verify which identifiers are actually being used as Content IDs before configuring Mable.
4. Best Practice Summary
Tracking & Dataset Structure
If a dataset is connected to Mable, all other tracking sources sending data to that dataset should be disabled.
Within a Meta ad account, only the Mable Dataset should be used for campaign optimization.
Exceptions include official Meta A/B Tests or setups where events are intentionally separated into different datasets by market.
Catalog Structure
Each catalog should ideally be connected to only one dataset.
Each dataset should ideally be connected to only one catalog.
Multiple catalogs should only be used if they contain completely different products with no overlap.
Product Matching
The product identifier sent by Mable must match the Content ID used in your Meta Catalog.
The specific identifier is less important than ensuring that both the catalog and Mable use the same identifier.
Regularly verify the Content ID used by your catalog in Meta Commerce Manager.
Configure the corresponding Product Identifier setting in Mable to match your catalog.
Catalog Match Rate
A high Catalog Match Rate is essential for strong Catalog Ad performance.
Meta recommends maintaining a Catalog Match Rate above 90%.
A low Catalog Match Rate often indicates issues with Content IDs, catalog structure, or catalog connections.
Goal of This Setup
A properly configured dataset, catalog, and product matching setup provides:
Accurate attribution
Reliable reporting
Consistent optimization signals
High-performing Catalog Ads
Better overall performance for catalog-based campaigns
By following these best practices, you provide Meta with a clean and reliable data foundation for campaign optimization and ad delivery.