Skip to content
CatalogBadge

Setup guides

Set up CatalogBadge with OpenCart

OpenCart has no product API we can read, so the way in is your store’s product feed: a file at a URL that lists your products. CatalogBadge reads it on every update and publishes copies of it in which only the image links change. Nothing is installed in your store and we never write to it.

Meta’s own Facebook extension for OpenCart sends products straight to Meta without a feed file, so it gives us nothing to read. Keep it for the pixel if you use it, and turn on a feed as below.

1. Turn on a product feed

OpenCart 2 and 3: the built-in Google Base feed (free)

  1. In the admin, open Extensions, then Extensions, and choose Feeds in the type list (on OpenCart 2.0 to 2.2, Extensions, then Feeds). Install Google Base with the green button, then open it with the blue pencil.
OpenCart admin, Extensions with the Feeds type: Google Base is enabled, Google Sitemap is not.
  1. Link your categories. Google Base lists only the products of store categories you pair with a Google category. Download Google’s product taxonomy as the plain text file with numeric IDs, upload it with the green import button, then pair each of your categories under Google Category.
  2. Set Status to Enabled and save. Copy the Data Feed Url. It looks like https://your-store/index.php?route=extension/feed/google_base (on OpenCart 2.0 to 2.2, route=feed/google_base).
OpenCart Google Base settings: two category pairs, the Data Feed Url and the Status set to Enabled.
  1. In System, Settings, your store, tab Server, set Display Errors to No. On PHP 8, OpenCart 3.0.4.0 otherwise prints a warning in front of the feed and the file stops being valid XML.
  2. Open the URL in your browser: you should see your products as XML.

What the built-in feed leaves out

We checked these on OpenCart 3.0.4.0. They matter because your prices go onto images.

  • Currency. It writes the price with no currency code, and only in US dollars, euros or pounds. A store that sells in another currency, such as SAR, AED or KWD, gets its prices converted to US dollars. If your shop sells in any other currency, do not use the built-in feed for CatalogBadge: use an extension as below. The setup wizard refuses the built-in feed in any currency but these three, so a converted price never reaches an image.
  • Sale prices. A product special replaces the price, and there is no sale_price, so images show the offer price without a discount badge.
  • Products. Only products in paired categories and with a description are listed.

OpenCart 4, or a store in another currency: a feed extension

OpenCart 4 ships no feed. Open the Product Feeds category of the OpenCart Marketplace (also under Extensions, Marketplace in your admin) and pick an extension that:

  • publishes the feed at a URL (not only an upload to Google Merchant Center);
  • writes a Google Shopping XML or a Meta catalog CSV, with the currency code in price, such as 249.00 SAR;
  • writes the regular price in price and the special in sale_price;
  • regenerates the file on a schedule, so the file we read is current.

Most of them are a one-off purchase of about 10 to 40 US dollars; ask the vendor about the four points above before you buy.

2. Add the feed to CatalogBadge

  1. Create your account on app.catalogbadge.com, then choose Onboard a store.
  2. Feed: paste the feed URL and choose Check feed. We read it and show three sample products with their prices, the platform we recognised, and anything Meta would reject. Nothing is saved yet.
  3. Compare the sample prices with your shop. If a price has no currency code in the feed, we use the currency under Prices read as; change it there if the samples look wrong.
  4. Store: confirm the store name, the platform (OpenCart), country, currency, time zone and the language of the feed.
  5. Template, Brand and QA preview: pick your designs and check your products as finished images.
  6. Feed URLs: copy your feed URLs, then choose Go live.

3. Put your branded feed where your ads read it

Your feed URLs are on your store’s Overview page under Feed URLs, each with a copy button. Treat them like a password: anyone with the URL can read the feed.

Where your ads runFeedWhere to paste it
Meta (Facebook and Instagram)meta-full.xmlCommerce Manager, your catalog, Data sources. If the catalog already reads your store’s feed URL, edit that data source and replace the URL with ours, so your ad sets keep the same catalog. Otherwise add a scheduled data feed with our URL. Steps: Meta guide.
TikToktiktok-full.csvTikTok Ads Manager, Assets, Catalogs: add products with a data feed schedule, set it to hourly and the update method to Replace, so a product that leaves the feed leaves the catalog. Steps: TikTok guide.
Snapchatsnap-full.xmlSnapchat Ads Manager, Catalogs: add a product source with a scheduled feed URL and a daily schedule. Steps: Snapchat guide.
Pinterestpinterest-full.xmlFirst turn on the Pinterest 2:3 size in Rules, under Sizes and language. Then in Pinterest Ads, Catalogs, add a data source with our URL. Pinterest reads it once a day. Steps: Pinterest guide.

Each platform picks up the branded images on its next fetch; the first one can take a few hours. Never delete and re-create a catalog to switch: your ads keep pointing at the old one.

4. When your feed is missing a field

Your feed has no…What happensWhat to do
Sale price (sale_price)Images show the price without a discount badge. We never work out a discount the feed does not state.Use a feed or extension that writes the regular price in price and the offer in sale_price.
Currency code on the pricePrices are read in the currency you confirm in the wizard.Make sure the feed’s prices really are in your store’s currency: compare the sample prices with your shop.
ID, title, link, photo or a readable priceThat product keeps its original image in our feeds, so your catalog never loses it.Fill the field in your store; the next update picks it up.
Standard column namesWe do not guess which column is the price, because a wrong guess puts a wrong price on an image.Open the Column map on your store’s Overview page and say which column holds each field (input feeds).
AvailabilityProducts count as in stock.Add availability if you sell out often.
Brand, GTIN or MPNImages are made as usual; Meta warns that it needs one of them.Add a brand to your products; your store name works for your own goods.

Questions about your extension’s export? Write to hello@catalogbadge.com.