Introduction

BigCommerce stores can promote their products over multiple channels by connecting to them via product feeds. e.g.

  • Facebook Catalogs
  • Pinterest Catalogs
  • Google Shopping via the Google Merchant Centre
  • Microsoft Shopping Ads via the Microsoft Merchant Centre

These feeds pass product information to the channels that build a catalog of products for use by the channel. Feeds can be as simple as a CSV file that you upload to the channel, or they could use an API to update the catalog in near real-time.

The above channels also let you track how your store visitors interact with those products via code on your site (pixel/tag). This is where Tag Rocket comes in. It adds code to your store to track the different events as visitors look at products, add them to your cart, start the checkout, and finally purchase them. These events enable the channels to automatically create audiences (remarketing lists) as well as allow you to create custom audiences to target users. A good example is the abandoned cart list which enables you to target people who were so close to purchasing some of your products.

These events also send product information to the channels. What products did a user interact with? From viewing it on a category page to buying it. This can enable the channel to create custom ads for those users that include the product they interacted with. Combine that with machine learning, and you get highly targeted and focused ads that typically have a good ROAS.

Google and Microsoft call it Dynamic Remarketing. Facebook calls it Dynamic Product Ads for Retargeting. And Pinterest calls it Dynamic Retargeting.

Google’s Smart Shopping campaigns combine Dynamic Remarketing with Machine Learning across multiple surfaces to create a highly automated eCommerce ad solution.

The Item Group ID (essential)

For product-based dynamic remarketing code to work, the events have to identify products in a way that can be matched up with the product catalog for a channel. This is where terminology gets confusing and can cause identity issues that completely break the system.

Most channels support either variant or product feeds (or both). A single item in the feed can be a variant or a product. If it is a variant, most feeds provide the ability to enter an item_group_id value that identifies the product itself. So all variants for a single product should have the same Item Group ID. For reliability, we also prefer if product level items also fill in the Item Group ID.

When users browse your store, they primarily interact at the product level, not the variant. e.g. they see a product in a category or look at a product page. This means the code that sends product events to the channels needs to send a product identifier that matches up with the Item Group ID in the catalog.

The Item Group ID values are crucial for setting up product-based dynamic remarketing. If the code on the page does not use the same product identifiers as the feed, things don’t work.

We recommend that Item Group ID values are set to the BigCommerce product id. These are set in stone and are accessible via the store code or APIs. A second option is to use the product level SKU, but things get complex as they are optional and can be altered by default variants. Tag Rocket supports both methods.

The Item ID

The identifier for each item in the feed could relate to a variant or a product. Tag Rocket optionally lets you set this id for use in some item level events like Add To Cart or Purchase.

Feed providers make their own default choice here, often different, and sometimes in a way that can cause issues.

ID Clashes

Some channels check both the Item ID and the Item Group ID to find a matching item. And the way each channel does it is different. This means you want your Item ID to never match up with an Item Group ID, this can cause the wrong item to be matched, and the adverts end up showing random products to the user.

For example, if the Item ID is a number, and so is the Item Group ID, there will be times when they clash, and the system may pick the wrong products for a user.

If you had a previous feed, you also want to make sure the old feed IDs don’t clash with any new feed IDs.

So when deciding on your Item ID and Item Group ID values, think about doing it in a way that ensures they will not clash. Some possible ways:

  • Use numbers for Item IDs but prepend them with ‘P’ for a product or ‘V’ for a variant.
  • Use the variant or product SKU for the Item IDs with a fallback if it’s a product item with no SKU. e.g. ‘P’ plus the product id
  • Use a product + variant type identifier for Item IDs. e.g. ‘12345-0001’ (this is how DataFeedWatch do it by default)
  • Prepend the Item Group ID with a letter to ensure they are unique.

Matching With Tag Rocket

Tag Rocket lets you specify how it sets Item Group ID and Item ID values for each tag/channel. This means you can make it match with how your feeds set those values.

This is done by providing the format of a value using placeholders to indicate what values you want to send. Placeholders use a double square bracket format:

PlaceholderDescription
[[pid]]BigCommerce Product ID
[[psku]]Product SKU
[[vid]]BigCommerce Variant ID (Only applicable to Item ID formats)
[[vsku]]Variant SKU (Only applicable to Item ID formats)
ID format placeholders

For example, if you wanted an ID format to be the letter P plus the Product ID, you would enter P[[pid]]

Product SKU is optional, so we added a format to specify what happens if the Product SKU is missing. This uses the double pipe format to let you define the alternate format after the pipes. e.g. [[psku]]||P[[pid]] would use the product SKU if present; otherwise, P plus the Product ID.

Tag Rocket requires you to define the format for the Item Group ID, which is critical to match Tag Rocket events with feed entries. This defaults to [[pid]].

You can then optionally specify Item ID formats for most of the tags. These formats are used on events like Add To Cart and Purchase if they are set. There are two Item ID formats to fill in, “Product Format” is if it is a product level item in the cart (i.e. no variants), and “Variant Format” is a format for when it is a variant. Please don’t use these formats unless you know precisely how the feed sets the Item ID for products and variants.

The feed providers section below will indicate the default values each feed tends to use.

Fully Supported Feed Providers

As we work with feed providers, we will provide details about setting up their feeds so they can be used for product remarketing via Tag Rocket. Here are some commonly used feed providers with links to full instructions on setting them up for dynamic remarketing on the channels they support.

Feed Provider Google MicrosoftFacebookPinterestYahoo
Data Feed Watch
GoDataFeed
Sales & Orders
BigCommerce Facebook Channel

Sales & Orders does not currently provide a 100% reliable feed for dynamic remarketing. More Details.

Other Feed Providers

We’ve integrated Tag Rocket with several other feed providers. If you use one of these, we will be glad to help you set things up correctly.

Koongo

Koongo provides a BigCommerce app and feeds for many channels and starts at a reasonable price. We have one client using it with a product level feed.

FeedArmy

I believe this had a similar variant feed issue which may require changes to support product remarketing. I’d love to work with a store using FeedArmy to see how it can be done. Find out more about their BigCommerce feed integration.

Dynamic Creative – feedops

A Google only feed provider that integrates with BigCommerce. It has a free plan, so it could be worth checking out to see if it provides enough for you. If you do try it, contact us to see if we can set up your product remarketing. From testing a demo account, I think they provide good identifiers.

Social Shop

They create a Facebook feed. This is the format we have seen so far.

Item Formats

FieldDefault Format
Item Group ID Format[[pid]]
Item ID Product Format fb:FB:[[psku]] (fallback is currently not known)
Item ID Variant Format fb:FB:[[vsku]]

Google by BigCommerce

This is a free channel provided by BigCommerce in their channel manager under “Ads and social”. It creates a connection to Google Ads that sends details about the products in the store. However, it provides no way to customise the data.

The last time we looked, the feed seemed only to include one random variant per product using the internal variant as the id, and item_group_id was not set.

This feed misses out on many product variants and is unusable for dynamic remarketing.

Other Common Feed Issues

We often see variant based feeds not providing the correct variant page for a product. The URL should be the product page with ?sku=ABC-123 added to the end where the value is the variants SKU. This mistake can cause feed errors if the variant’s price is different.

Sometimes a feed provider will include utm parameters in the product URLs. This can be very useful as it provides analytics tools with details on the ad seen by the user. For best tracking in Google Ads, you should have Auto-tagging on (Google Ads->Account settings), and Google Analytics should not let utm parameters override the auto-tagging (Google Analytics->Admin->Property settings->Advanced settings).