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 ID

  • variants.id → Product Variant ID

  • sku→ 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.