# Awesome Facebook Product Feed > Awesome Facebook Product Feed is a Shopify app that exports a store's products as Facebook/Meta and Google Shopping product feeds. Merchants create feeds (Basic or Advanced editor), control currency/collections/variants/custom labels, apply Facebook and Google Shopping rules per product, transform product images, and keep feeds auto-updated for dynamic ads and catalogs. --- # Choose Exactly Which Products and Variants Go in Your Facebook Feed > Control exactly what lands in your Shopify Facebook product feed — export all products or only selected collections, exclude products by tag, keep in-stock variants, and build variant filter rules on price, options and more. Product feeds · 5 min read · Updated 2026-07-13 Canonical: https://awesomestoreapps.com/docs/filter-products-and-variants Your whole catalog rarely belongs in one Facebook feed. Staff samples, hidden SKUs, an off-season range, a wholesale-only brand — plenty of products should never reach your ads. The **Advanced editor** gives you two layers of control: **product-level** gates that keep whole products out (collections and excluded tags), and **variant-level** filters that thin each product down to the variants you actually want to advertise (export mode and the Filter-variants rule builder). This guide walks every control so you can dial the feed in to exactly the right set — and calls out which ones remove items versus which ones just tidy up the feed's data. ## 1. Open the Advanced editor All of these controls live in the Advanced editor, so start there. From your dashboard, find the feed you want to trim and click **Edit (advanced)**. The Basic editor covers products and collections too, but the excluded tags, whitelist and variant rule builder in this guide are Advanced-only. Each feed filters independently, so you can run a broad feed for one channel and a tightly filtered one for another. ![Open the Advanced editor — s-buttonhref$='/productFeed/edit/1' highlighted](https://awesomestoreapps.com/docs-assets/img/filter-products-and-variants/00-dashboard-edit.png) ## 2. Export all products, or only selected collections This is the widest gate. **Export all products (default & recommended)** keeps your entire catalog in sync; switch to **Export products from selected collections** and a **Selected collections** picker appears. Start typing, choose the collections you want, and only products in those collections make it into the feed. This is the cleanest way to publish a seasonal subset or a single brand — build a Shopify collection for it, then point the feed at that collection and let it maintain itself as products come and go. ![Export all products, or only selected collections — #product_feed_allProducts, .autocomplete-container:has(+ #product_feed_collectionsString) highlighted](https://awesomestoreapps.com/docs-assets/img/filter-products-and-variants/01-all-products-collections.png) ## 3. Exclude whole products by tag Open the **Other settings** section and use **Exclude products with tags**. Any product carrying one of these tags is dropped from the feed entirely — the fastest way to hold back staff samples, hidden or discontinued SKUs, or wholesale-only items without touching your collections. Tag those products in Shopify (for example `no-facebook` or `sample`), add the same tags here, and press Enter or a comma between entries. It's a blocklist: matching products are removed, everything else stays. ![Exclude whole products by tag — .autocomplete-container:has(+ #product_feed_excludedTags) highlighted](https://awesomestoreapps.com/docs-assets/img/filter-products-and-variants/02-exclude-tags.png) ## 4. Keep only the variants that are in stock **Export mode** in the **Variant export settings** section decides how many variants each product contributes. The default exports **all variants (including sold out)**, which keeps retargeting working on items shoppers already viewed. Choose **all available variants (excluding sold out)** to drop out-of-stock variants automatically, or **only one variant** to send a single representative variant per product. This is variant-level: it thins each product down rather than removing products outright. ![Keep only the variants that are in stock — #product_feed_exportMode highlighted](https://awesomestoreapps.com/docs-assets/img/filter-products-and-variants/03-in-stock-only.png) ## 5. Turn on Filter variants and choose how rules combine For finer control, open **Filter variants** and switch it to **Filter variants - export only variants that match these filters**. Then pick how your rules combine: **Match all properties (AND)** keeps a variant only when it satisfies *every* rule, while **Match any property (OR)** keeps it when it satisfies *at least one*. Use AND to stack narrowing conditions (in a price band *and* a specific size); use OR to gather several acceptable cases into one feed. ![Turn on Filter variants and choose how rules combine — #product_feed_filterVariants, #product_feed_variantPropertyMatch highlighted](https://awesomestoreapps.com/docs-assets/img/filter-products-and-variants/04-filter-variants-match.png) ## 6. Build a variant rule: property, relation, condition Click **Add a rule** to add a row with three parts: a **Property**, a **Relation**, and a **Condition**. The Property is the name of one of the product's options (like `Size` or `Color`) or a variant field such as `price` — type it exactly as it appears. The Relation is one of **Equals**, **Does not equal**, **Contains**, **Does not contain**, **Contains any of (CSV)**, **Greater than (>)** or **Less than (<)**. The Condition is the value to test against. So `Size` / **Does not equal** / `XXL` drops the XXL variant, and `price` / **Greater than (>)** / `10` keeps only variants over 10 in the feed currency — greater/less comparisons are numeric, so they suit price floors and inventory thresholds. Add as many rows as you need; they combine using the AND/OR choice from the previous step. ![Build a variant rule: property, relation, condition — .add-rules-link highlighted](https://awesomestoreapps.com/docs-assets/img/filter-products-and-variants/05-add-rule.png) ## 7. Limit which product tags get written to the feed Back in **Other settings**, **Whitelisted product tags** does something different from the exclude field: it doesn't remove products, it limits which of a product's tags are exported into the feed's data. Leave it empty and every product tag flows through; add tags here and only those are written out. Reach for this when your Shopify tags include internal notes you don't want appearing in your catalog. Press Enter or a comma between entries. ![Limit which product tags get written to the feed — .autocomplete-container:has(+ #product_feed_whitelistedProductTags) highlighted](https://awesomestoreapps.com/docs-assets/img/filter-products-and-variants/06-whitelist-tags.png) ## 8. Trim option names out of variant titles In the **Variant title** section, **Exclude options (such as size)** cleans up the generated variant titles rather than filtering variants. List the option names you don't want appended to titles — for example add `Size` so a title reads "Blue Cotton Tee" instead of "Blue Cotton Tee - S". It changes how variants are labeled in the feed; it does not add or remove any variant. When your filters and titles look right, hit **Save** in the bar at the top and the feed regenerates automatically. ![Trim option names out of variant titles — .autocomplete-container:has(+ #product_feed_excludedOptions) highlighted](https://awesomestoreapps.com/docs-assets/img/filter-products-and-variants/07-exclude-options.png) ## FAQ ### How do I exclude specific products from my Facebook feed? Tag those products in Shopify, then add the same tags under 'Exclude products with tags' in the Advanced editor's Other settings. Every product carrying one of those tags is removed from the feed. It's the quickest way to hold back samples, hidden SKUs or wholesale-only items. ### How do I put only certain collections in the feed? In Product export settings, switch from 'Export all products' to 'Export products from selected collections' and choose your collections. Only products in those collections are exported, which is ideal for a seasonal range or a single brand. The feed updates itself as products move in and out of the collection. ### How do I keep out-of-stock products out of the feed? Set Export mode to 'all available variants (excluding sold out)' and sold-out variants are dropped automatically. Note the default keeps sold-out variants on purpose, because that lets Facebook keep retargeting shoppers who already viewed the item. Choose whichever fits your strategy. ### What's the difference between excluding by tag and the Filter variants rules? Excluding by tag works at the product level — a matching product is removed whole. Filter variants works at the variant level, keeping only the variants that match your rules. If every variant of a product gets filtered out, that product simply won't appear in the feed. ### How do I filter variants by size or colour? Turn on Filter variants, then add a rule whose Property is the option name (like Size or Color), pick a relation such as 'Does not equal' or 'Contains any of (CSV)', and enter the value. For example Size / Does not equal / XXL removes the XXL variant from every product that has that option. ### Can I set a minimum price so cheap items are left out? Yes. Add a Filter variants rule with Property 'price', relation 'Greater than (>)' and your floor as the condition — only variants above that value are exported. Greater-than and less-than comparisons are numeric, so they also work for inventory thresholds. ### Should I use Match all or Match any for my rules? Use 'Match all properties (AND)' when a variant must satisfy every condition at once — for instance a price band and a specific option. Use 'Match any property (OR)' when several different cases are all acceptable and you want any one of them to qualify the variant. ### My Property rule isn't doing anything — why? The Property has to match a real product option name or variant field exactly, so check the spelling against the option as it appears in Shopify. If it matches neither, the rule is ignored and the variant is kept. Option matching ignores case; for variant fields like price, use the lowercase field name. ### Does the whitelist remove products from the feed? No. 'Whitelisted product tags' only controls which of a product's tags are written into the feed data — it never removes a product. To remove products, use 'Exclude products with tags' or the collections setting instead. ### Does 'Exclude options' remove variants from the feed? No. That setting only strips option names (like Size) out of the generated variant titles so they read more cleanly. All your variants still export — it changes labeling, not which items are included. ## Related - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Create a Facebook Product Feed for Shopify in Minutes (Basic)](https://awesomestoreapps.com/docs/create-a-product-feed.md) - [Facebook Product Sets and Catalog Rules for Shopify](https://awesomestoreapps.com/docs/facebook-rules.md) --- # Create a Facebook Product Feed for Shopify (Advanced) > Set up a Facebook product feed for Shopify with the Advanced editor — currency, collections, variants, custom labels, image fixes, filters and UTM tracking, ready for dynamic Facebook ads. Product feeds · 6 min read · Updated 2026-07-07 Canonical: https://awesomestoreapps.com/docs/create-a-product-feed-advanced The **Advanced editor** gives you full control over your **Facebook product feed** for Shopify — from currency and collections right down to variant rules, custom labels and UTM tracking. It looks like a lot, but you only need a handful of these settings to ship a great feed (and to keep your catalog ready for dynamic Facebook ads). This guide walks through each section so you know exactly what to touch (and what to leave alone). Prefer something simpler? You can always switch to the *Basic* editor and come back later. ## 1. Open the Advanced editor From your dashboard, find the feed you want to configure and click **Edit (advanced)**. If you don't have a feed yet, click **Add a product feed** first — a new feed is created instantly and you can open it here. Each feed is independent, so you can run different feeds for different channels or countries. ![The app dashboard showing the feed list with the Edit (advanced) button highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed-advanced/00-dashboard-add.png) ## 2. Name your feed and set the currency Give the feed a clear, recognizable **name** — you'll thank yourself later when you have several. Set the **feed currency** to match the catalog you're submitting to. One thing worth knowing: if you use *Shopify Markets*, leave the currency and country empty and let Markets drive it instead. The **Market country** field works the same way. ![Product feed settings section with the feed name and currency fields highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed-advanced/01-feed-settings.png) ## 3. Choose which products to export By default the feed exports **all products**, which is what most stores want. If you'd rather publish a subset — say, a seasonal catalog or a single brand — switch to **selected collections** and a collection picker appears. Start typing and pick the collections you want; only products in those collections will end up in the feed. ![Product export settings with the all-products / selected-collections choice highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed-advanced/02-export-settings.png) ## 4. Decide how variants are handled **Export mode** controls whether you send every variant, only the in-stock ones, or just a single representative variant per product. Exporting all variants is the default and usually the right call for ads. The **Compare-at price** option lets the feed surface sale pricing — keep it on if you want strikethrough/sale prices to flow through to the channel. ![Variant export settings with export mode and compare-at price options highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed-advanced/03-variant-export.png) ## 5. Set custom labels for ad segmentation **Custom labels** (0–4) are your ad team's best friend — they let you slice products into groups inside Facebook and Google Ads (bestsellers, margin tiers, seasonal, clearance, whatever you need). Type a value directly, or point a label at a **metafield** to pull it dynamically per product. Skip these entirely if you're not segmenting campaigns yet. ![Custom labels section with the first custom label and its metafield source highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed-advanced/04-custom-labels.png) ## 6. Pick your product images Choose which image represents each product with the **image source** setting, and decide whether to include **additional images** in the feed. Most channels show the first image as the main creative and treat the rest as a gallery, so the order in Shopify matters. ![Product and variant images section with the image source option highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed-advanced/05-images.png) ## 7. Resize images to channel specs (optional) Facebook and Google have minimum image-size requirements, and products with images that are too small get disapproved. **Transform (resize) images** automatically resizes your images to meet those specs — no re-uploading in Shopify. This feature isn't included on every plan; if you don't see the dropdown, it isn't part of your current plan. ![Transform images section with the image transformation option highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed-advanced/06-image-transform.png) ## 8. Filter out variants you don't want Use **Filter variants** to keep the feed clean — exclude staff samples, hidden SKUs, or anything that shouldn't be advertised. Choose whether a product must match **any** or **all** of your rules, then click **Add rule** to build conditions on tags, price, inventory and more. Add as many rules as you need. ![Filter variants section with the filter toggle and add-rule button highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed-advanced/07-filter-variants.png) ## 9. Add UTM tracking, then save In **Other settings** you can append **UTM parameters** (source, campaign, medium) to every product link so your analytics attributes traffic correctly. There's also room for excluded/whitelisted tags and a naming strategy if you need them. When you're happy, hit **Save** in the bar at the top — the feed re-generates automatically and you're live. ![Other settings section with the UTM source field highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed-advanced/08-other-settings.png) ## FAQ ### What's the difference between the Basic and Advanced editor? The Basic editor covers the essentials in a short form and is perfect for getting a feed live fast. The Advanced editor exposes every option — variant rules, custom labels, image transformations, UTM tracking and more. You can switch between them at any time; your settings are preserved. ### Do I need to fill in the currency and country? Only if you're not using Shopify Markets. If Markets is handling your regions and currencies, leave the feed currency and Market country empty so the app follows your Markets configuration instead of overriding it. ### What are custom labels used for? Custom labels let you group products inside Facebook and Google Ads so you can bid and report on segments — for example bestsellers, clearance, or high-margin items. You can set them to a fixed value or pull them dynamically from a product metafield. ### My images are being rejected by Facebook. Can the app fix that? Yes. Turn on Transform (resize) images and the app resizes your product images to meet the channel's minimum-size requirements automatically, without you re-uploading anything in Shopify. It's available on selected plans. ### How do I limit the feed to specific products? In Product export settings, switch from 'all products' to 'selected collections' and choose the collections you want. For finer control at the variant level, use the Filter variants section to add rules based on tags, price, inventory and more. ### How do I add a Facebook product feed to Shopify? Install the app, click Add a product feed, then open Edit (advanced) to set your currency, products, variants and images. Hit Save and the app generates a feed URL you can submit to your Facebook catalog (Commerce Manager) — from there it powers your shop and ads. ### Does this product feed work for dynamic Facebook ads? Yes. The Advanced feed keeps your Facebook catalog in sync, which is exactly what dynamic Facebook ads and retargeting pull from. Use custom labels to segment products into groups for bidding and reporting across your campaigns. ### How do I connect my Shopify store to Facebook? Create your feed in the app and copy its feed URL, then add it as a catalog data source in Facebook Commerce Manager (or via Facebook's sales channel). Facebook re-fetches the feed on a schedule, so your catalog stays in sync as products change. ### How do I add products to my Facebook catalog? Point Facebook at your feed URL: in Commerce Manager, add a data source set to scheduled feed and paste the URL — Facebook imports every product in the feed and refreshes automatically. Use the Filter variants section to control exactly which products are included. ### Why don't my variants show up in the Facebook catalog? Set Export mode to send all variants (not a single representative variant), and check that Filter variants isn't excluding them — the feed lists each variant as its own catalog item. If you also added items by hand in Commerce Manager, let the feed populate them instead, so the two don't clash. ## Related - [Google Shopping Rules for Shopify (Auto-Assign Product Fields)](https://awesomestoreapps.com/docs/google-shopping-rules.md) - [Facebook Product Sets and Catalog Rules for Shopify](https://awesomestoreapps.com/docs/facebook-rules.md) - [Transform Product Images for Facebook and Instagram Feeds](https://awesomestoreapps.com/docs/transform-product-images.md) --- # Create a Facebook Product Feed for Shopify in Minutes (Basic) > Create a Facebook product feed for your Shopify store in minutes with the Basic editor — name the feed, pick your products and currency, save, and get a feed URL ready for your Facebook catalog and Google Shopping. Product feeds · 4 min read · Updated 2026-07-13 Canonical: https://awesomestoreapps.com/docs/create-a-product-feed The **Basic editor** is the fastest way to create a **Facebook product feed** for your Shopify store. It's a short form — name, products, currency — and everything else gets a sensible default. Most merchants can go from "no feed" to "live feed URL" in a few minutes, and nothing here locks you in: you can switch the same feed to the *Advanced* editor at any time when you're ready for custom labels, filters, or image options. Here's the whole Basic flow, top to bottom. ## 1. Open the Basic editor From your dashboard, click **Edit (basic)** next to the feed you want to set up. Don't have a feed yet? Click **Add a product feed** first — a new feed appears instantly in the list. Inside the editor you'll also see a **Switch to advanced** link at the top; use it whenever you outgrow the short form. Both editors edit the *same* feed, so nothing is lost when you switch. ![Open the Basic editor — Edit (basic) button highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed/00-dashboard-edit-basic.png) ## 2. Name your feed Give the feed a clear, recognizable **name** — "Facebook — US store" beats "Feed 1" once you're running more than one. The name is just for you; it never shows up in your ads or your catalog. ![Name your feed — #product_feed_basic_feedName highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed/01-feed-settings.png) ## 3. Set the currency (or let Shopify Markets drive it) Set the **feed currency** to match the catalog you'll submit the feed to. If you sell internationally with **Shopify Markets**, do the opposite: pick a **Market country** and leave the currency alone — the market's own currency and pricing take over. Not using Markets? Leave the Market country empty. That's the whole rule. ![Set the currency (or let Shopify Markets drive it) — #product_feed_basic_feedCurrency, #product_feed_basic_feedCountry_display highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed/02-currency-country.png) ## 4. Choose which products to export **Export all products** is the default and the right choice for most stores — your whole catalog, always in sync. If you only want a subset (one brand, a seasonal range), switch to **selected collections** and a collection picker appears: start typing, pick your collections, and only their products make it into the feed. ![Choose which products to export — #product_feed_basic_allProducts highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed/03-export-settings.png) ## 5. Decide how variants are exported **Export mode** controls what each product contributes to the feed: every variant (default & recommended — sold-out ones included, so retargeting keeps working), only the in-stock variants, or a single representative variant per product. If you go the single-variant route, the second setting picks *which* one: the first, the first available, or the cheapest available. ![Decide how variants are exported — #product_feed_basic_exportMode highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed/04-variant-export.png) ## 6. Multi-language stores (most can skip this) Selling in one language? **Leave this section empty** — the feed exports your store's primary language and you're done. If your store publishes translations, choose the **language** for this feed and how translated URLs are built on your storefront (subdomain like `fr.shop.com`, or folder like `shop.com/fr`), and create one feed per language. Each feed then carries fully translated titles and descriptions. ![Multi-language stores (most can skip this) — #product_feed_basic_translationLocale highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed/05-multi-language.png) ## 7. Save and grab your feed URL Hit **Save**. The feed generates automatically and keeps regenerating as your products change — no manual refreshing. Back on the dashboard you'll find the **feed URL**: copy it and add it as a scheduled data source in Facebook Commerce Manager or Google Merchant Center, and your catalog stays in sync from here on. That's it — your Shopify Facebook product feed is live. ![Save and grab your feed URL — #product_feed_basic_submit highlighted](https://awesomestoreapps.com/docs-assets/img/create-a-product-feed/06-save.png) ## FAQ ### How do I create a Facebook product feed for my Shopify store? Install the app, click Add a product feed on the dashboard, then open Edit (basic). Name the feed, set the currency, choose all products or selected collections, and hit Save — the app generates a feed URL you can submit to your Facebook catalog. ### What's the difference between the Basic and Advanced editor? The Basic editor is a short form with the essentials: name, currency, products, variants and language. The Advanced editor adds custom labels, variant filters, image transformation, UTM tracking and more. Both edit the same feed — use Switch to advanced anytime and your settings carry over. ### Do I need to set a currency? Set the feed currency to match the catalog you're submitting to — unless you use Shopify Markets. With Markets, pick the Market country instead and the market's currency and pricing apply automatically. ### Can I export only some of my products? Yes. In Product export settings choose 'Export products from selected collections' and pick the collections you want. Only products in those collections end up in the feed — handy for seasonal catalogs or single-brand campaigns. ### Should I export all variants or just one per product? Exporting all variants (the default) is right for most stores — each variant becomes its own catalog item with its own price and availability, which is what dynamic ads expect. Export a single variant only if your variants are effectively duplicates. ### Does the feed update automatically when my products change? Yes. The feed regenerates on a schedule, and Facebook or Google re-fetch it automatically once you've added the feed URL as a scheduled data source. You never re-upload anything by hand. ### Can I create feeds in different languages? Yes — if your Shopify store publishes translations. In the Multi-language section pick the language for the feed and how translated URLs are built (subdomain or folder), then create one feed per language. ### Where do I put the feed URL once the feed is saved? Copy the feed URL from the dashboard and add it as a scheduled data source: in Facebook Commerce Manager for Facebook and Instagram, or in Google Merchant Center for Google Shopping. The platform then re-fetches the feed on its own schedule. ## Related - [Getting Started — Set Up a Facebook Product Feed for Shopify](https://awesomestoreapps.com/docs/getting-started.md) - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Shopify Product Feed Settings — Global Defaults for Every Feed](https://awesomestoreapps.com/docs/app-settings.md) --- # Custom Labels for Facebook & Google Ads (Shopify Product Feed) > Use custom labels in your Shopify product feed to segment products for Facebook and Google Ads — bestsellers, margin tiers, seasonal and clearance. Set all five custom_label_0–4 slots, drive them from metafields, and keep featured products in every label. Product feeds · 5 min read · Updated 2026-07-13 Canonical: https://awesomestoreapps.com/docs/custom-labels **Custom labels** are the field that lets you slice your catalog into groups your ad team can actually bid and report on — bestsellers, high-margin lines, seasonal ranges, clearance. The advanced feed editor gives you five of them (**custom_label_0** through **custom_label_4**), and each one can pull a different value from your products. This guide is a deep dive: what custom labels are on the Facebook and Google side, every source option in the dropdown, how to drive a label from a metafield, how to keep featured products in every label, and how internal labels feed Facebook product sets. The [Advanced editor guide](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) covers this in one section — here's the whole picture. ## 1. Open the Advanced editor Custom labels only live in the **Advanced** editor, so start there. On your dashboard, click **Edit (basic)** on the feed you want, then use **Switch to advanced** at the top — or pick **Edit (advanced)** from the feed's **Actions** menu. Both editors change the same feed, so nothing is lost. Once you're in, scroll down to the **Custom labels** section. ![Open the Advanced editor — Open your feed button highlighted](https://awesomestoreapps.com/docs-assets/img/custom-labels/00-dashboard-edit-advanced.png) ## 2. Meet the five custom label slots You get five slots — **Custom label 0** to **Custom label 4** — and each is set completely independently. In the feed they're exported as `custom_label_0` through `custom_label_4`, the same fields Facebook and Google Ads read for segmentation. A common setup is one slot for margin tier, one for a bestseller flag, one for season, and one for clearance, so a single feed can drive several campaign breakdowns at once. ![Meet the five custom label slots — #product_feed_customLabel0, #product_feed_customLabel1 highlighted](https://awesomestoreapps.com/docs-assets/img/custom-labels/01-custom-labels.png) ## 3. Choose what each label reports Each slot is a dropdown of ready-made sources. **Product tags (comma separated)** and **Collection ids (comma separated)** are the workhorses for grouping. There are pricing signals — **Price divided by 4** (handy for buy-now-pay-later messaging), **Price with VAT (19%)**, **Price with VAT (22%)** and **Price without currency** — plus status flags like **Product on sale (exports 1 if it is, 0 if it's not)** and **Product on clearance (exports 1 if it is, 0 if it's not)**. You'll also find identifiers (**SKU**, **Barcode (ISBN, UPC, GTIN, etc.)**, **Shopify product ID**, **Shopify variant ID**), inventory signals (**Inventory quantity**, **Number of variants with stock**) and even **Product on sale + product type** for combined bucketing. Set the ones you need and leave the rest on **Empty**. ![Choose what each label reports — #product_feed_customLabel0 highlighted](https://awesomestoreapps.com/docs-assets/img/custom-labels/02-label-sources.png) ## 4. Drive a label straight from a metafield To pull a value that's unique per product, set the slot to **Export metafield value (enter namespace.key below)** and type the reference into the **Metafield namespace.key** field right underneath it (placeholder **e.g. google.gender**). This exports that metafield's value straight into the custom label, so you can segment on anything you already store on your products — supplier, launch season, promo tier. There are also preset metafield sources in the dropdown (Style, Color, Material, Finish and more) if your data lives under those keys. ![Drive a label straight from a metafield — #product_feed_customLabelMetafield0 highlighted](https://awesomestoreapps.com/docs-assets/img/custom-labels/03-metafield-label.png) ## 5. Keep featured collections in every label Facebook caps a custom label at **100 characters**, so a tag- or collection-driven label with lots of values gets truncated — and the values you care about might be the ones cut off. **Featured collections** solves this: the collections you pick here are **always included in the custom label**, pushed to the front so they survive truncation. Start typing to search and add the collections that matter most to your bidding. ![Keep featured collections in every label — .autocomplete-container:has(+ #product_feed_featuredCollectionsForCustomLabelsString) highlighted](https://awesomestoreapps.com/docs-assets/img/custom-labels/04-featured-collections.png) ## 6. Push featured product tags to the front **Featured product tags** works the same way for tag-driven labels: any tag you list here is always included and moved to the front of the custom label, so a "bestseller" or "clearance" tag never falls off the end when a product carries dozens of tags. This is the reliable way to make sure the segment your campaigns filter on is actually present in every product's label. ![Push featured product tags to the front — .autocomplete-container:has(+ #product_feed_featuredProductTagsForCustomLabels) highlighted](https://awesomestoreapps.com/docs-assets/img/custom-labels/05-featured-tags.png) ## 7. Export internal labels for Facebook product sets **Internal labels** are a separate, Facebook-specific field: they're used to filter products into **Facebook product sets**. Leave this on **Do export internal labels (default)** and the feed automatically exports each product's **Product tags**, **Collection names** and **Collection IDs** as internal labels — so you can build product sets in Commerce Manager without touching your public custom labels. Turn it off only if you specifically don't want that data in the feed. Save the feed when you're done and it regenerates automatically. ![Export internal labels for Facebook product sets — #product_feed_exportInternalLabels highlighted](https://awesomestoreapps.com/docs-assets/img/custom-labels/06-internal-labels.png) ## FAQ ### What are custom labels in a Facebook product feed? Custom labels are five extra fields (custom_label_0 to custom_label_4) you can attach to every product in your feed. They don't change how a product looks in your catalog — they're grouping tags that Facebook and Google Ads use so you can bid and report on segments like bestsellers, margins, season or clearance. ### How do I segment my Shopify products for Facebook ads? Open the Advanced feed editor, go to the Custom labels section, and set one or more of the five slots to a source such as Product tags, Collection ids, or a sale/clearance flag. Save the feed, and once Facebook re-fetches it you can build product sets that filter on those custom_label values — in Commerce Manager, open your catalog's Sets tab and create a set with a custom label filter — then point campaigns at those sets. ### What custom labels can I use for Google Shopping? The same five custom_label_0–4 fields flow into Google Shopping. In Google Ads you can subdivide the product groups of a Shopping or Performance Max campaign by any of the five labels, then bid and report on each segment — margin tier, price band, bestseller status. Google reads one value per label per product, up to 100 characters. ### Can I set a custom label from a Shopify metafield? Yes. Set the slot to 'Export metafield value (enter namespace.key below)' and enter the metafield reference (for example google.gender) in the Metafield namespace.key field beneath it. The metafield's value is exported straight into that custom label, per product. ### How many custom labels can I use? Five per feed — custom_label_0 through custom_label_4 — and each is configured independently. You can mix sources: a tag-based label in one slot, a metafield in another, a sale flag in a third. ### Why is my custom label getting cut off? Facebook limits custom labels to 100 characters, so a label built from many tags or collections can be truncated. Add the collections you care about under Featured collections, and the tags under Featured product tags — those are always included and pushed to the front of the label so they survive the limit. ### What's the difference between custom labels and internal labels? Custom labels (custom_label_0–4) are for segmenting campaigns in Facebook and Google Ads. Internal labels are a separate Facebook-only field used to filter products into Facebook product sets, and the feed exports them automatically from your product tags, collection names and collection IDs. ### Do I need custom labels to run a product feed? No. They're optional. If you're not segmenting campaigns yet, leave every slot on Empty — your feed still works. Add custom labels later when your ad account is ready to bid or report by group. ### Does the feed export numbers I can bid on, like price or inventory? Yes. Sources like Price divided by 4, Inventory quantity and Number of variants with stock produce numeric values. When a custom label value is numeric, the app also exports it as a custom_number field alongside the custom_label — Meta's catalog reads those as whole-number fields you can use for numeric filters when building product sets (Google Shopping uses only the custom_label values). ### Will my custom labels update when products change? Yes. Custom labels are recalculated every time the feed regenerates, so a product that goes on sale, sells out, or gains a tag has its labels refreshed automatically — no manual editing. ## Related - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Facebook Product Sets and Catalog Rules for Shopify](https://awesomestoreapps.com/docs/facebook-rules.md) - [Google Shopping Rules for Shopify (Auto-Assign Product Fields)](https://awesomestoreapps.com/docs/google-shopping-rules.md) --- # Facebook Ecommerce Apps for Shopify — Product Feeds for Meta Catalogs & Ads > Comparing Facebook ecommerce apps for Shopify? See how a product feed app powers Meta catalogs, dynamic product ads, and Facebook/Instagram Shop — and how to set one up. Guides · 6 min · Updated 2026-07-07 Canonical: https://awesomestoreapps.com/docs/facebook-ecommerce-apps If you're evaluating **Facebook ecommerce apps** for your Shopify store, it helps to know what each type of app actually does. Some apps connect your store to Facebook and Instagram Shops, some manage the Meta Pixel and ad tracking, and some — like this one — generate and maintain the *product feed* that Meta and Google Shopping read to build your catalog. This article explains where a product feed app fits among Facebook ecommerce tools and how to use one to power your Meta catalog and dynamic product ads. ## 1. Know the categories of Facebook ecommerce apps "Facebook ecommerce apps" is a broad term covering several different jobs. Broadly, they fall into a few groups: **Shop connection apps** that link your Shopify store to a Facebook/Instagram Shop, **pixel and tracking apps** that handle the Meta Pixel and conversion events, and **product feed apps** that export your catalog data for Meta and Google Shopping. Knowing which job you need helps you avoid stacking overlapping tools. ## 2. Understand where a product feed app fits Awesome Facebook Product Feed is a *product feed* app. It exports your Shopify products into a feed formatted for Facebook/Meta and Google Shopping. That feed becomes the source Meta reads to build a catalog, which in turn powers dynamic product ads and shoppable posts. It does not run ads or manage the pixel — it supplies the clean, up-to-date product data those other tools rely on. ## 3. Decide whether you need a feed app at all Meta and Google can sometimes pull products through native Shopify connections. A dedicated feed app is worth it when you need more control — for example, choosing which collections or variants to include, setting currency, adding custom labels, or applying rules to map fields correctly. If your native connection produces incomplete or incorrectly-mapped products, a feed app usually solves it. This app generates feeds for both destinations: your Facebook (Meta) catalog via **Commerce Manager** and **Google Merchant Center** — each feed is a URL those platforms re-fetch on a schedule. ## 4. Create your product feed From your dashboard, click **Add a product feed** — the feed is created instantly, with no long setup form. Open it and choose between two editors: the **Basic** editor covers the essentials (feed name, currency, which collections and variants to export, product image), while the **Advanced** editor exposes every option — variant rules, custom labels, image transforms, UTM tracking and more. You can switch between them any time without losing your settings. See the Getting Started guide for the full first-feed walkthrough. ## 5. Apply Facebook and Google Shopping rules Once a feed exists, you can apply rules that shape your catalog automatically. **Facebook rules** build and refresh **Facebook Product Sets** from your Shopify collections using simple AND/OR matching, so dynamic ads can target groups like "bestsellers" or "clearance" instead of your whole store. **Google Shopping rules** auto-assign five Google fields — product category, gender, age group, color and condition — by matching conditions across your catalog, which keeps Merchant Center approvals clean. This is where a feed app adds value over a plain native connection. ## 6. Connect the feed to Meta and keep it updated When you save a feed, the app generates a **feed URL**. Copy it and add it as a **scheduled data source** in Facebook **Commerce Manager** so Meta can import your products and re-fetch the feed on a schedule. The app keeps the feed itself auto-updated, so as products change in Shopify your catalog and dynamic product ads stay current — no manual re-uploading. ## FAQ ### What apps do I need to sell on Facebook from Shopify? Typically a combination: an app or native connection to set up your Facebook/Instagram Shop, the Meta Pixel for tracking, and a product feed app to supply clean catalog data. Awesome Facebook Product Feed covers the last part — generating and maintaining the product feed Meta reads. ### Do I need a product feed app if Shopify connects to Facebook already? Not always, but a feed app helps when you need more control — selecting collections or variants, setting currency, adding custom labels, or applying rules to fix field mapping. If your native connection produces incomplete or mismatched products, a dedicated feed usually resolves it. ### How do I add a Facebook product feed to Shopify? Install a feed app, create a feed (Basic or Advanced editor), configure currency, collections, and variants, then add the generated feed URL as a data source in your Meta catalog. See the Getting Started guide for step-by-step setup. ### What is the difference between a Facebook feed and a Facebook Shop? A Facebook Shop is the storefront customers browse. A product feed is the underlying data file that tells Meta what products exist and their details. The feed populates the catalog that powers your Shop, dynamic product ads, and shoppable posts. ### Can a product feed app power dynamic product ads? Yes. Dynamic product ads pull from your Meta catalog, and the catalog is built from your product feed. Keeping the feed accurate and auto-updated is what keeps your dynamic ads showing correct products, prices, and availability. ### Does the product feed update automatically? Yes — the app keeps the feed auto-updated as your products change, so your Meta catalog and dynamic ads always show current prices and availability. ## Related - [Getting Started — Set Up a Facebook Product Feed for Shopify](https://awesomestoreapps.com/docs/getting-started.md) - [Facebook Product Sets and Catalog Rules for Shopify](https://awesomestoreapps.com/docs/facebook-rules.md) - [Google Shopping Rules for Shopify (Auto-Assign Product Fields)](https://awesomestoreapps.com/docs/google-shopping-rules.md) --- # Facebook Feed Not Updating? Statuses, Schedules and How to Force a Refresh > Facebook or Google feed not updating, products missing from your catalog, or a feed stuck on "Updating"? Learn what each dashboard status means, how often feeds regenerate, and how to force a refresh with Update now. Product feeds · 5 min read · Updated 2026-07-13 Canonical: https://awesomestoreapps.com/docs/troubleshoot-feed-not-updating If your **Facebook product feed isn't updating** — a feed stuck on "Updating", a status that says something's wrong, or products that never made it into your catalog — take a breath. Almost every case is one of a handful of things, and most need no fix at all: the feed is simply mid-rebuild, or a filter is doing exactly what you told it to. This guide walks the dashboard top to bottom: what each **status** means, how often feeds **regenerate on their own**, what the **Update now** button really does, and where missing products actually go. Start at the status badge and work down. ## 1. Read the status badge first Every feed on your dashboard carries a **Status** badge, and it answers most "is my feed broken?" questions on its own: - **OK** — the feed is fully built and live. Nothing to do. - **Updating, please wait** — the feed is being rebuilt right now. This is normal and usually finishes in under a minute (longer for very large catalogs). It is not an error. - **Error** — the feed has more products than your current plan allows, so it stopped building. See step 5. - **Paused** / **Inactive** — the feed isn't generating. The badge is followed by **Edit to reactivate**. See step 6. A badge that reads **Updating, please wait** is the single most common reason people think their feed "isn't working" — it's working, it's just mid-build. Give it a moment. ![Read the status badge first — .product-feed-row s-badge highlighted](https://awesomestoreapps.com/docs-assets/img/troubleshoot-feed-not-updating/00-status-badges.png) ## 2. Check the Overview for the whole picture The **Overview** panel at the top of the dashboard rolls every feed up into counts: **Active** (built and serving), **Building** (currently regenerating), **Needs attention** (a feed that hit its plan's product limit), **Paused**, and **Last feed update** — the timestamp of your most recent successful rebuild. If **Last feed update** is recent and everything sits under **Active**, your feeds are healthy and syncing. If a number shows up under **Needs attention**, jump to step 5. ![Check the Overview for the whole picture — #dashboard-metrics s-box highlighted](https://awesomestoreapps.com/docs-assets/img/troubleshoot-feed-not-updating/01-overview.png) ## 3. Understand how often feeds regenerate You never re-upload a feed by hand — regeneration is **automatic**, on two tracks: - **When your store changes.** When you edit a product, change a price, update inventory, or reorganize a collection, the app queues the affected feed to rebuild shortly after — you don't have to touch anything. - **On a regular safety sweep.** Even with no changes, each active feed is refreshed in the background at least every few hours, so it never goes stale. Separately, **Facebook and Google re-fetch your feed on their own schedule** — the schedule you set when you added the feed URL as a scheduled data source in Facebook Commerce Manager or Google Merchant Center (often hourly or daily). So there are two clocks: the app rebuilding the feed, and the platform pulling it. A change can be live in your feed URL minutes before Facebook next re-fetches it. ![Understand how often feeds regenerate — s-button.product-feed-update highlighted](https://awesomestoreapps.com/docs-assets/img/troubleshoot-feed-not-updating/02-update-now.png) ## 4. Force a refresh with Update now Don't want to wait for the next automatic rebuild? Click **Update now** next to the feed. It immediately queues a fresh rebuild and recounts your products, and the badge flips to **Updating, please wait** while it works — the status refreshes in place, so you don't need to reload the page. Your existing feed keeps serving the whole time; the new version simply replaces it when the rebuild lands. **Update now** does not change any settings — it only rebuilds what you already have. (It also reactivates a **Paused** feed.) ![Force a refresh with Update now — s-button.product-feed-update highlighted](https://awesomestoreapps.com/docs-assets/img/troubleshoot-feed-not-updating/02-update-now.png) ## 5. Just changed a setting? That's why it's rebuilding Any time you **Edit** a feed and save, the app rebuilds it from scratch and recounts the products — because a settings change (collections, filters, variant rules, currency) can change *which* products belong in the feed. That's why the badge flips straight to **Updating, please wait** after you save. This is expected: wait for it to return to **OK** and your changes are live. ![Just changed a setting? That's why it's rebuilding — .awsm-actions-quick s-buttonicon="edit" highlighted](https://awesomestoreapps.com/docs-assets/img/troubleshoot-feed-not-updating/03-edit.png) ## 6. Products missing from your catalog? Check filters and collections If products are missing from your Facebook or Google catalog, the feed is almost always doing exactly what its settings say. Look at the **item count** under each feed's name — if it's lower than your real catalog, something is excluding products. The usual suspects: - The feed is set to **selected collections**, and the missing products aren't in those collections. - A **variant filter** or **excluded tag** is filtering products out. - The products are out of stock and the feed is set to in-stock variants only. - The products aren't published to the sales channel, or have no price/image. Open the feed's editor to review these. Our [Filter products and variants](https://awesomestoreapps.com/docs/filter-products-and-variants.md) guide walks through every filter so you can see exactly what's being kept and dropped. Fix the setting, save, and the feed rebuilds with the right products. ![Products missing from your catalog? Check filters and collections — .awsm-feed-name-cell highlighted](https://awesomestoreapps.com/docs-assets/img/troubleshoot-feed-not-updating/04-item-count.png) ## 7. Paused, Inactive, or "Needs attention" A few statuses need a deliberate action from you: - **Paused** / **Inactive** — the feed stopped generating. Click **Edit**, review the settings, and save to reactivate it (or use **Update now**). - **Error** / **Needs attention** — the feed has more products than your plan allows. Upgrade your plan, then click **Update now** to rebuild the feed with your new limits. Finally, remember the feed **URL** itself never changes — copy it from the dashboard and make sure it's still added as a scheduled data source on Facebook or Google. If the URL was removed on the platform side, the app can rebuild all day and the catalog still won't update. If a feed sits on **Updating** for far longer than expected, or the status doesn't match what you see in your store after a rebuild, that's when to contact support. ![Paused, Inactive, or "Needs attention" — .awsm-feed-url-field highlighted](https://awesomestoreapps.com/docs-assets/img/troubleshoot-feed-not-updating/05-feed-url.png) ## FAQ ### Why is my Facebook product feed not updating? Most often it isn't stuck — the badge just reads "Updating, please wait" while the feed rebuilds, which usually finishes in under a minute. If it says OK but Facebook still looks stale, remember Facebook re-fetches your feed URL on its own schedule (often hourly or daily), separate from when the app rebuilds it. ### My feed is stuck on "Updating, please wait" — what do I do? Give it a moment first — large catalogs take longer to build, and the status refreshes on its own without a page reload. If it stays there far longer than a large store's build should take, click Update now to re-queue it, and if it still won't settle, contact support. ### How often does the app update my product feed? Automatically, on two tracks: the affected feed is queued to rebuild shortly after you change a product, price, inventory or collection, and every active feed is also refreshed on a regular background sweep so it never goes stale. You never re-upload anything by hand. ### How often does Facebook re-fetch my product feed? Facebook (and Google) pull your feed URL on the schedule you set when you added it as a scheduled data source in Commerce Manager or Merchant Center — commonly hourly or daily. That's why a change can be live in your feed minutes before the platform next fetches it. ### Why are products missing from my Facebook catalog? The feed is usually excluding them on purpose. Check the item count under the feed name — if it's low, the feed is probably limited to selected collections, or a variant filter or excluded tag is dropping products. Out-of-stock, unpublished, or price/image-less products can also be skipped. ### What does the "Update now" button actually do? It immediately queues a fresh rebuild of that feed and recounts its products, flipping the badge to "Updating, please wait". Your current feed keeps serving until the new build replaces it, and it also reactivates a paused feed. It never changes your settings. ### Why did my feed flip to "Updating" right after I saved settings? Because saving any change rebuilds the feed and recounts the products — a settings change can alter which products belong in the feed. It's expected. Wait for the badge to return to OK and your changes are live. ### My feed says "Needs attention" or "Error" — how do I fix it? That means the feed has more products than your current plan allows, so it stopped building. Upgrade your plan, then click Update now to rebuild the feed with your new limits. ### My feed is Paused or Inactive — how do I turn it back on? Open it with Edit, review the settings and save — that reactivates it. You can also click Update now, which unpauses the feed and rebuilds it. ### I clicked Update now but nothing changed — is it broken? It's working — the rebuild runs in the background and the badge updates in place when it finishes. If the feed looks identical afterward, the feed content genuinely didn't change (nothing new to export). If Facebook still looks stale, that's the platform's re-fetch schedule, not the app. ## Related - [Getting Started — Set Up a Facebook Product Feed for Shopify](https://awesomestoreapps.com/docs/getting-started.md) - [Create a Facebook Product Feed for Shopify in Minutes (Basic)](https://awesomestoreapps.com/docs/create-a-product-feed.md) - [Choose Exactly Which Products and Variants Go in Your Facebook Feed](https://awesomestoreapps.com/docs/filter-products-and-variants.md) --- # Facebook Product Sets and Catalog Rules for Shopify > Create and manage Facebook Product Sets from your Shopify catalog with rules — match collections with AND/OR logic, refresh products, and segment your catalog for Facebook dynamic ads. Product feeds · 5 min read · Updated 2026-06-01 Canonical: https://awesomestoreapps.com/docs/facebook-rules **Facebook Product Sets** are how you slice one big catalog into smaller, targeted groups — think "summer collection", "clearance", or "high-margin bestsellers". **Facebook dynamic ads** and your shop point at a Product Set, so getting these right is what lets you run focused campaigns instead of advertising your whole store at once. With **Facebook rules** the app builds and refreshes those sets for you automatically from your Shopify collections, using simple AND/OR matching — no manual product-picking in Commerce Manager. This guide walks through creating a set, writing its rules, and keeping its products in sync. ## 1. Open Facebook rules for a catalog From your dashboard, open **Facebook rules**. Each set of rules belongs to one **Facebook Product Catalog**, so if you manage more than one catalog use the **Switch product catalog** dropdown to pick the one you're working in. The page lists every Product Set in that catalog, split into ones this app manages and *unmanaged* sets (those you created by hand in Facebook Business Manager or via another integration). Use **Show / hide unmanaged product sets** to peek at the latter. ## 2. Read the Product Sets table The table gives you one row per managed **Facebook Product Set** with these columns: **Facebook Product Set** (its name, product count, and a link straight to it on Facebook), **Rules** (a plain-English summary of what it matches), **Refresh products**, **View products**, **Edit**, and **Delete**. This is your home base — everything you do to a set starts from one of these links. ## 3. Add a Facebook Product Set Click **Add a Facebook Product Set**. The app creates a new set in the selected catalog instantly and drops you into its editor. There's nothing to fill in up front — a set starts empty and gets its products from the rules you write next. ## 4. Write the rules that pick products In the editor, under **Choose products to include and exclude from the product set**, build your conditions. Each rule matches against your Shopify **collections**, and you decide how the rules combine: **Must match all rules (AND)** for a tight, narrow set, or **Must match at least one rule (OR)** to pool several collections together. Add as many rule rows as you need — this is the core of *Facebook catalog segmentation* on Shopify. ## 5. Control overwriting and automation Two switches govern how aggressively a set is kept current. **Overwrite existing** decides whether the app replaces assignments that are already on a product, or leaves them alone. **Automation** decides whether *new* products that match are added to the set automatically going forward. Leave automation on and the set keeps itself populated as your catalog grows; turn it off if you'd rather assign manually. ## 6. Refresh, view, and verify products Rules don't only run once. Back on the table, **Refresh products** re-evaluates a set against your current catalog and re-assigns matches — handy after you've changed collections or edited the rules. It runs in the background, so give it a moment and refresh the page for the updated count. Use **View products** to see exactly which items landed in the set, and the **Facebook Product Set** link to open it in Commerce Manager and confirm it's wired into your ads. ## 7. Edit or delete a set Use **Edit** to reopen a set's rules any time — tweak the collections, flip AND to OR, or adjust the overwrite/automation switches, then save. **Delete** removes the rules the app manages for that set. Deleting here cleans up the app's automation; manage the underlying Facebook set itself in Commerce Manager if you also want it gone there. ## FAQ ### What is a Facebook Product Set? A Product Set is a named subset of your Facebook catalog — a filtered group of products that ad campaigns and your shop can target. Instead of advertising every product, you point a dynamic ad at a set like 'bestsellers' or 'summer' and Facebook only shows those items. ### How do Product Sets work with dynamic ads? Facebook dynamic ads pull their products from a catalog, but you scope each ad set to a specific Product Set. So a campaign can advertise only your clearance items while another promotes new arrivals — all from the same catalog. Keeping the set accurate (via rules and refresh) keeps your ads showing the right products. ### How do I segment my Facebook catalog? Create a Product Set, then write rules that match the Shopify collections you want in it. Use Must match all rules (AND) to narrow it down or Must match at least one rule (OR) to combine collections. Add a separate set for each segment you want to advertise. ### What's the difference between AND and OR matching? AND means a product must satisfy every rule to be included — useful for precise, narrow sets. OR means matching any single rule is enough — useful for pooling several collections into one broad set. ### What does Refresh products do? It re-runs the set's rules against your current catalog and re-assigns the matching products. Run it after you change collections or edit rules. It processes in the background, so wait a moment and reload the page to see the new product count. ### What does the Overwrite setting do? Overwrite controls whether the app replaces product-set assignments that already exist, or leaves them untouched. Turn it on for the app to take full ownership of the set; leave it off to preserve assignments made elsewhere. ### What are unmanaged product sets? Those are Product Sets the app didn't create — typically made by hand in Facebook Business Manager or by another app or integration. They show up under Show / hide unmanaged product sets for reference, but the app's rules and refresh don't manage them. ### Do I create the Product Set in the app or in Facebook Commerce Manager? Create it in the app with Add a Facebook Product Set — the app provisions it in the selected catalog and manages it for you. You can still open the set in Commerce Manager (via the link in the table) to confirm it's targeted by your dynamic ads. ### Why is my Product Set empty after I add rules? Save the rules, then click Refresh products to populate the set, and reload the page after a moment. Also check that your rules actually match products — with AND matching, an over-restrictive combination can match nothing; switching to OR or removing a condition usually fixes it. ## Related - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Google Shopping Rules for Shopify (Auto-Assign Product Fields)](https://awesomestoreapps.com/docs/google-shopping-rules.md) - [Transform Product Images for Facebook and Instagram Feeds](https://awesomestoreapps.com/docs/transform-product-images.md) --- # Getting Started — Set Up a Facebook Product Feed for Shopify > New to the app? Learn how to create a Facebook product feed for Shopify, set your global defaults, and submit your feed URL to Facebook and Google — a step-by-step Shopify Facebook catalog setup for first-time merchants. Getting started · 4 min read · Updated 2026-07-07 Canonical: https://awesomestoreapps.com/docs/getting-started Welcome! You've just installed the app, and getting your products in front of shoppers on Facebook and Google is closer than you think. This guide is your map for the whole **Shopify Facebook product feed setup** — it walks you through the first run end to end, from creating your first feed to submitting it to your Facebook catalog, and points you to the detailed guide for each step when you want to go deeper. You don't need to be technical, and you don't need everything perfect on day one. Create a feed, get it live, then refine. Let's get your **Shopify Facebook catalog setup** started. ## 1. Create your first product feed From your dashboard, click **Add a product feed**. A new feed is created instantly and you can open it right away — no long setup form to wade through. Each feed is independent, so later you can run separate feeds for different channels or countries. When you open a feed, you choose between two editors: the **Basic** editor covers the essentials in a short form and is perfect for getting live fast, and the **Advanced** editor exposes every option — variant rules, custom labels, image transforms, UTM tracking and more. You can switch between them any time without losing your settings. New to this? Start Basic. For the full tour of every option, see the *Advanced feed* guide. ## 2. Configure the feed for your catalog Inside the editor, set the handful of things that matter most: a clear **feed name**, the **feed currency** to match the catalog you're submitting to, and which products to export (all products by default, or a subset by **selected collections**). You can also decide how variants are handled and which product **image** represents each item. That's genuinely enough to ship a great feed — everything else is optional polish you can come back to. The *Advanced feed* guide breaks down each section in detail if you want to know exactly what to touch and what to leave alone. ## 3. Set your global defaults in Settings Open **Settings** (under your dashboard) to set store-wide defaults that apply across your feeds, so you're not re-entering the same values every time. This is the right place to establish your baseline once before you submit anywhere. Set it up early and your feeds start from sensible defaults — see the *Settings* guide for the details. ## 4. Submit your feed URL to Facebook When you save a feed, the app generates a **feed URL**. To get your products into your Facebook catalog, copy that URL and add it as a **scheduled data source** in Facebook **Commerce Manager** (or via Facebook's sales channel). Facebook re-fetches the feed on a schedule, so as your products change in Shopify, your catalog stays in sync automatically — no manual re-uploading. This same catalog is what **Facebook dynamic ads** and your shop pull from, so getting the feed in is the key step that unlocks everything else. ## 5. Submit your feed to Google (optional) Selling on Google too? The app generates a Google-ready feed the same way. Add the feed URL as a data source in **Google Merchant Center** and Google will import and refresh your products on a schedule. If your products need a **Google product category** or attributes like gender, age group, color or condition (apparel especially), you'll set those up next — see the *Google Shopping rules* guide. ## 6. Refine with rules and image fixes With your feed live, you can sharpen it over time. Use **Google Shopping rules** to auto-assign the Google product category and other required fields across your catalog so Merchant Center approves your products — see the *Google Shopping rules* guide. Use **Facebook Product Sets** to carve your catalog into targeted groups (like "bestsellers" or "clearance") that dynamic ads can point at — see the *Facebook rules* guide. And if Facebook ever rejects images for being too small or the wrong shape, the **Transform (resize) images** feature reshapes them to each channel's specs without re-uploading in Shopify — see the *Transform product images* guide. Take these one at a time as you need them. ## FAQ ### How do I create my first product feed? From your dashboard, click Add a product feed — the feed is created instantly. Open it, choose the Basic or Advanced editor, set a name, currency and which products to export, then Save. The app generates a feed URL you can submit to Facebook and Google. ### How do I connect my feed to Facebook? Copy your feed's URL from the app, then in Facebook Commerce Manager add a data source set to scheduled feed and paste the URL. Facebook imports every product in the feed and re-fetches it on a schedule, so your catalog stays in sync as your products change. ### Do I need a paid plan to start? The app is a paid subscription with a free trial, so you can set everything up and see your feed working before you pay. Plans differ mainly by catalog size, and some features — like the Transform (resize) images feature that fixes rejected catalog images — aren't included on every plan; if you don't see an option, it isn't part of your current plan. ### Should I use the Basic or Advanced editor? Start with Basic if you just want a feed live quickly — it covers the essentials. Move to Advanced when you want full control over variants, custom labels, image transforms and UTM tracking. You can switch between them any time and your settings are kept. ### Can I run feeds for both Facebook and Google? Yes. The app generates a feed you can submit to your Facebook catalog (Commerce Manager) and to Google Merchant Center. You can also create separate feeds for different channels or countries, each configured independently. ### What do I do after my feed is live? Refine it: assign Google fields in bulk with Google Shopping rules, segment your catalog with Facebook Product Sets, and fix any rejected images with Transform (resize) images. See the linked guides for each — there's no rush to do them all at once. ## Related - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Shopify Product Feed Settings — Global Defaults for Every Feed](https://awesomestoreapps.com/docs/app-settings.md) - [Facebook Product Sets and Catalog Rules for Shopify](https://awesomestoreapps.com/docs/facebook-rules.md) - [Google Shopping Rules for Shopify (Auto-Assign Product Fields)](https://awesomestoreapps.com/docs/google-shopping-rules.md) --- # Google Shopping Rules for Shopify (Auto-Assign Product Fields) > Use Google Shopping rules to auto-assign the Google product category, gender, age group, color and condition to your Shopify products by matching conditions — a clean Google Merchant Center feed with fewer disapprovals. Product feeds · 5 min read · Updated 2026-06-01 Canonical: https://awesomestoreapps.com/docs/google-shopping-rules **Google Shopping rules** let you automatically assign the right Google product fields to your Shopify products without editing them one by one. Instead of hand-tagging hundreds of products, you write a rule once — "when a product matches these conditions, give it this Google value" — and the app applies it across your whole catalog. You can drive five fields this way: **Google product category**, **gender**, **age group**, **color** and **condition**. Getting these right is what keeps your Google Merchant Center feed complete and your products approved, so this guide walks through building a rule from scratch. ## 1. Pick which Google field to set From the dashboard, open the Google rules section and choose the field you want to automate. There's a tab for each one: **Product category**, **Gender**, **Age group**, **Color** and **Condition**. Each field has its own independent set of rules, so you might have a handful of category rules and just one or two condition rules. Switch tabs any time to manage a different field — your rules for the others stay exactly as you left them. ## 2. Add a new rule On the field's page you'll see a table of existing rules (empty if this is your first time) plus a list of how your products are currently grouped for that field. Click **Add a Google [field] rule** in the top bar to create one. The app opens the rule editor where you'll define what to match and what value to assign. ## 3. Choose whether to overwrite existing values At the top of the editor, the **Overwrite existing** setting decides what happens when a product already has a value for this field. **Do NOT overwrite existing** only fills in products that are still blank — safest if you've already set some values by hand. **Do overwrite existing** replaces whatever is there with this rule's value. Pick *do not overwrite* when you're back-filling gaps, and *overwrite* when this rule should be the single source of truth. ## 4. Set AND / OR matching Right below that, **Matching rules** controls how multiple conditions combine. **Must match all rules (AND)** means a product has to satisfy *every* condition before the value is assigned — use it to target a precise slice (e.g. tagged *kids* **and** priced under $20). **Must match at least one rule (OR)** assigns the value if *any* single condition is true — use it to catch a broad group (e.g. tagged *shoes* **or** *sneakers* **or** *boots*). If you only add one condition, the AND/OR choice doesn't matter. ## 5. Build your matching conditions In the **Matching rules** section, click **Add a rule** to add a condition row. Each row lets you pick a product or variant property, a comparison, and a value to test against — tags, title, price, product type, vendor and more. Add as many rows as you need; the AND/OR setting from the previous step ties them together. This is where you describe *which* products should receive the Google value, so be as specific as the field calls for. ## 6. Choose the value to assign The **Assign value for [field]** section is where you set *what* the matched products should get. For **product category** you search the official Google product taxonomy and pick the exact category — that's the value Google Merchant Center expects. For **gender**, **age group**, **color** and **condition** you enter the appropriate value for that field. This is the value every product matching your conditions will receive. ## 7. Save and let it apply Save the rule from the bar at the top. The app applies it across your catalog and re-generates your feed, so the new Google values flow into your Google Shopping feed automatically. Back on the field's page you can see how your products are now grouped, spot any still marked *not defined*, and add more rules to cover them. Repeat for each field until your feed is complete. ## FAQ ### How do I set the Google product category? Open the Product category tab in Google rules, click Add a Google Product category rule, build conditions for the products you want to target, then in Assign value for Product category search the Google taxonomy and pick the exact category. Save, and every matching product gets that Google product category in your feed. ### Why is my Google Merchant Center feed disapproved? The most common causes are a missing or wrong Google product category, or missing required attributes like gender, age group, color or condition for the items that need them (apparel especially). Use Google Shopping rules to assign those fields in bulk so your feed is complete — that clears the most frequent disapproval reasons. ### What's the difference between AND and OR matching? AND (Must match all rules) requires a product to satisfy every condition before the value is assigned — good for narrow, precise targeting. OR (Must match at least one rule) assigns the value if any condition matches — good for sweeping up a broad group. With a single condition the two behave identically. ### Will a rule overwrite values I already set manually? Only if you tell it to. Leave Overwrite existing on 'do not overwrite' and the rule only fills in products that are still blank, leaving your manual values untouched. Switch it to 'do overwrite' when you want the rule to be the single source of truth for that field. ### Do I need a rule for every Google field? No. Each field — product category, gender, age group, color, condition — is independent, so set up rules only for the fields your products actually need. Apparel typically needs all of them; many other products just need a product category and condition. ### Can I target only some products instead of my whole catalog? Yes — that's the point of the matching conditions. Add condition rows on tags, type, vendor, price and more, and combine them with AND/OR so the value lands only on the products you intend. Anything that doesn't match keeps its current value. ### How does this feed into my Google Shopping feed? The values your rules assign are written to each product and included in the Google Shopping feed the app generates. After you save, the feed re-generates, so your Google Merchant Center feed picks up the correct product category and attributes on its next fetch. ## Related - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Facebook Product Sets and Catalog Rules for Shopify](https://awesomestoreapps.com/docs/facebook-rules.md) - [Transform Product Images for Facebook and Instagram Feeds](https://awesomestoreapps.com/docs/transform-product-images.md) --- # Multi-Language & Multi-Currency Product Feeds (International Selling) > Sell in several countries, currencies and languages? Learn how to set feed currency, a Shopify Markets country, the append-currency option and translated feeds (subdomain or folder) — one feed per language and market, done right. Product feeds · 5 min read · Updated 2026-07-13 Canonical: https://awesomestoreapps.com/docs/multi-language-and-currency-feeds Selling internationally means one catalog is rarely enough: a shopper in Paris should see French titles and euro prices, a shopper in New York English titles and dollars. The **Advanced editor** has everything you need to get this right — a **feed currency**, a **Shopify Markets** country, an append-currency option, and **translated feeds** for each language. The golden rule is simple: **one feed per language or market**, and this guide walks through every field so each feed points at exactly the right prices and translated URLs. All of these fields live in the Advanced editor's *Product feed settings* and *Multi-language support* sections. ## 1. Open the Advanced editor From your dashboard, click **Edit (advanced)** on the feed you want to configure — the Advanced editor is the only one that exposes the append-currency option and the full translation controls. Each feed is fully independent, which is the whole point here: you'll create a separate feed for each language and market rather than trying to cram them into one. Don't have a feed yet? Click **Add a product feed** first, then open it here. ![Open the Advanced editor — s-buttonhref$='/productFeed/edit/1' highlighted](https://awesomestoreapps.com/docs-assets/img/multi-language-and-currency-feeds/00-dashboard-edit-advanced.png) ## 2. Set the feed currency — or hand it to Shopify Markets The **feed currency** field is labeled "*Feed currency - not used if you set Market country below (for Shopify Markets)*" — set it to match the catalog you're submitting to, and the feed prices everything in that currency. If instead you sell through **Shopify Markets**, leave the currency alone and fill in the **Market country** — labeled "*Market country (leave empty if you're NOT using Shopify Markets)*". The app then pulls that market's own storefront URL, pricing and currency, so the feed matches exactly what a shopper in that country sees. Use one or the other, not both — Market country wins when it's set. ![Set the feed currency — or hand it to Shopify Markets — #product_feed_feedCurrency, #product_feed_feedCountry_display highlighted](https://awesomestoreapps.com/docs-assets/img/multi-language-and-currency-feeds/01-currency-market-country.png) ## 3. Append the currency to your product links (optional) The **Append currency parameter to the product URL?** option controls whether each product link carries a `?currency=` tag. The default is "*Do NOT append*" (link stays `my-store.com/products/my-product`); switching it on produces `my-store.com/products/my-product?currency=USD` using this feed's currency. This is handy when your storefront reads the currency from the URL and you want shoppers to land on the right-priced page straight from an ad. If you're unsure, leave it on the default — most stores don't need it. ![Append the currency to your product links (optional) — #product_feed_appendCurrency highlighted](https://awesomestoreapps.com/docs-assets/img/multi-language-and-currency-feeds/02-append-currency.png) ## 4. Turn on a translated feed for one language Scroll to **Multi-language support**. The banner here says it plainly: *most merchants should leave this section empty*, and *for the original (primary) language, leave this section empty* — your primary-language feed needs no translation setup at all. Only when your store publishes translations do you touch this: pick the **Language (locale)** for this feed, and the feed exports fully translated titles, descriptions and product handles for that language. You create one feed per language, each with its own locale selected here. ![Turn on a translated feed for one language — #product_feed_translationLocale highlighted](https://awesomestoreapps.com/docs-assets/img/multi-language-and-currency-feeds/03-translation-locale.png) ## 5. Tell the app how your translated URLs are built The **Export translated data?** dropdown has three choices that must match how your Shopify storefront serves translations. "*No, export original (primary) language*" is the default. Pick "*Yes... use a subdomain (fr.shop.com)*" if your translated storefront lives on a language subdomain, or "*Yes... use a folder (shop.com/fr)*" if it lives under a path like `shop.com/fr`. This choice decides how the app builds each product's link so shoppers land on the correctly translated page — getting it wrong sends French ads to English URLs. ![Tell the app how your translated URLs are built — #product_feed_translationType highlighted](https://awesomestoreapps.com/docs-assets/img/multi-language-and-currency-feeds/04-translation-type.png) ## 6. Set the translation subdomain (subdomain stores only) If — and only if — you chose the subdomain option above, fill in the **Translation subdomain** field with that language's host, e.g. `fr.shop.com`. Its help text spells out the exceptions: "*Leave empty for primary locale or if you're not using translations or if you're using a folder structure (such as shop.com/fr) for your URLs.*" Folder-based stores skip this field entirely — the folder path is built automatically from the locale you picked in step 4. ![Set the translation subdomain (subdomain stores only) — #product_feed_translationSubdomain highlighted](https://awesomestoreapps.com/docs-assets/img/multi-language-and-currency-feeds/05-translation-subdomain.png) ## 7. The override column (advanced, most leave empty) **Override column for multi-language feed** is a specialist field for Google's feed format — it emits a Google `override` value that lets a country- or language-specific feed override prices and availability from your primary feed. Its label ends with "*Leave empty for primary locale or if you're not using translations*", and that covers the vast majority of stores. Only set it if Google Merchant Center has specifically asked you to supplement a main feed with a country override — otherwise leave it blank. ![The override column (advanced, most leave empty) — #product_feed_override highlighted](https://awesomestoreapps.com/docs-assets/img/multi-language-and-currency-feeds/06-override.png) ## 8. Save, then repeat for each language and market Save from the bar at the top and the feed regenerates automatically. Now repeat the whole setup for every other language and market: a separate feed for French, another for German, another for your Canadian market, and so on — each with its own currency (or Market country) and its own locale. Submit each feed URL to the matching country's catalog in Facebook Commerce Manager or Google Merchant Center, and every region gets the right language, prices and links. > **Heads-up:** the first time you use the currency/Markets or translation fields, the app > may ask you to authorize extra permissions — it shows a "*Quick tip*" prompt to *authorize > additional permissions (read_markets)* for Markets, or *(read_translations, read_locales)* > for translated feeds. Click the link, approve, and refresh the page; the fields then work. ![Save, then repeat for each language and market — #product_feed_feedCurrency highlighted](https://awesomestoreapps.com/docs-assets/img/multi-language-and-currency-feeds/07-hero-full.png) ## FAQ ### How do I create a product feed for Shopify Markets? Open the Advanced editor, leave the feed currency alone, and set the **Market country** field to the market you're targeting. The app follows that market's storefront URL, currency and pricing automatically, so the feed matches what shoppers in that country see. Create a separate feed for each market. ### How do I make a multi-currency Facebook feed on Shopify? Create one feed per currency: set each feed's **feed currency** to the currency you want (or use a Market country to let Shopify Markets drive it), then submit each feed to the matching catalog. One feed can only carry one currency, so several currencies means several feeds. ### Can I create a Facebook or Google feed in different languages? Yes, if your Shopify store publishes translations. In **Multi-language support**, pick the **Language (locale)** for the feed and choose whether your translated URLs use a subdomain (`fr.shop.com`) or a folder (`shop.com/fr`). Make one feed per language — each exports fully translated titles, descriptions and links. ### What's the difference between the subdomain and folder translation options? It's about how your storefront serves translations. Choose **subdomain** if each language lives on its own host like `fr.shop.com` (then fill in the Translation subdomain field), or **folder** if languages live under a path like `shop.com/fr` (the path is built automatically). The setting only changes how product links are constructed. ### Do I need to set anything for my primary (default) language? No. Leave the entire Multi-language section empty for your primary language — the feed exports it by default. The in-app note says so directly: for the original (primary) language, leave this section empty. ### What does the append-currency option do? When on, it adds `?currency=USD` (using the feed's currency) to every product link, so shoppers land on the correctly-priced page. The default is off, and most stores don't need it — turn it on only if your storefront reads the currency from the URL. ### What is the override column and do I need it? It's an advanced field that emits a Google `override` value, letting a country-specific feed override prices and availability from your main feed. Most merchants leave it empty — only fill it in if Google Merchant Center has asked you to add a country override feed. ### The currency or translation fields are asking me to authorize permissions. Is that normal? Yes. The app needs extra Shopify scopes to read your Markets and translations, so the first time you use these fields it shows a Quick tip prompt to authorize additional permissions (read_markets, or read_translations and read_locales). Approve them and refresh the page, and the fields become available. ### Should I use feed currency or Market country? Use one, not both. Set the **feed currency** if you're not on Shopify Markets and just want to fix the feed's currency. Use **Market country** if Shopify Markets manages your regions — it takes over currency, pricing and the storefront URL, and the feed currency field is ignored when a Market country is set. ## Related - [Create a Facebook Product Feed for Shopify in Minutes (Basic)](https://awesomestoreapps.com/docs/create-a-product-feed.md) - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Shopify Product Feed Settings — Global Defaults for Every Feed](https://awesomestoreapps.com/docs/app-settings.md) --- # Prices in Your Product Feed: Sale Prices, Tax, Rounding & Currency > Fix wrong prices in your Facebook and Google product feed: show Compare-at as a strikethrough sale price, add tax at a feed-level rate, control price rounding, and append the currency to product links so shoppers see the price they'll pay. Product feeds · 5 min read · Updated 2026-07-13 Canonical: https://awesomestoreapps.com/docs/sale-prices-taxes-and-rounding Prices are the part of a **product feed** that has to be exactly right — a wrong or missing price gets a product **disapproved** in Facebook Commerce Manager or flagged as a **price mismatch** in Google Merchant Center. This app builds each item's price from four things you control in the **Advanced editor**: whether Shopify's **Compare-at price** becomes a strikethrough **sale price**, whether **tax** is baked into the price, how prices are **rounded and formatted**, and whether the product link carries a **`?currency=`** tag. This guide walks through all four, and explains exactly what ends up in the `price` and `sale_price` fields of your feed. ## 1. Open the Advanced editor Every price option lives in the **Advanced** editor, not the Basic one. From your dashboard, open the feed's **Actions** menu and choose **Edit (advanced)**. The Basic editor deliberately hides these settings so it can stay a short form — switching to Advanced never loses your existing settings, so it's safe to open any time you need to fix a price. ![Open the Advanced editor — s-buttoncommandFor="feed-menu-1" highlighted](https://awesomestoreapps.com/docs-assets/img/sale-prices-taxes-and-rounding/00-dashboard-edit-advanced.png) ## 2. Turn Compare-at into a strikethrough sale price In **Variant export settings**, the **Use "Compare at" price** option decides how discounts show up. Leave it on the default — *"**Use both Compare at price and price** if they exist (default)"* — and any variant that has a Shopify **Compare-at price higher than its current price** is exported as *on sale*: the **Compare-at price becomes the regular `price`** and the **actual selling price becomes the `sale_price`**. That's what produces the crossed-out "was/now" **strikethrough pricing** in Facebook and Google ads. Pick *"**Don't use Compare at price**"* and only Shopify's price field is used — no `sale_price` is ever written, even on discounted items. If a variant has no Compare-at price (or one that isn't higher than the price), it's simply exported at its normal price with no sale — so you can safely leave this on for your whole catalog. ![Turn Compare-at into a strikethrough sale price — #product_feed_useCompareAtPrice highlighted](https://awesomestoreapps.com/docs-assets/img/sale-prices-taxes-and-rounding/01-compare-at-price.png) ## 3. Add tax to your prices (or defer to your global Settings) The **Add tax to all prices** section is where tax-inclusive pricing is handled — its heading literally reads *"Add tax to all prices - override global Settings"* because this is a **feed-level override** of the store-wide tax default. There are three choices: - *"**Use global Settings (default)**"* — this feed follows whatever you set app-wide under **Settings** (see the related [Settings](https://awesomestoreapps.com/docs/app-settings.md) guide, "Set tax and price rounding"). Most stores leave every feed on this so tax is configured once. - *"Do **NOT** add tax to prices"* — force this feed to export raw Shopify prices, ignoring the global tax setting. Use this for a catalog that must be tax-exclusive (e.g. a US feed) even though your global default adds tax. - *"Do add tax to prices - set tax rate below"* — force tax on for this feed at a rate you enter in the next field, regardless of the global setting. Because it's an override, the feed-level choice **always wins** over the app-wide Settings default. Set tax in exactly one place per feed and you'll never double-count it. ![Add tax to your prices (or defer to your global Settings) — #product_feed_addTax highlighted](https://awesomestoreapps.com/docs-assets/img/sale-prices-taxes-and-rounding/02-add-tax.png) ## 4. Set the tax rate The **Tax rate percent (example: if the tax rate is 22%, enter 22)** field only matters when you chose *"Do add tax to prices"* above. Enter the rate as a whole number — **22** for 22%, not 0.22 — and every price and sale price in the feed is multiplied by `1 + rate/100` before it's written. Leave it at 0 (or on *"Use global Settings"*) and prices go out exactly as they are in Shopify. Getting this field right is the usual fix for a **Google Merchant Center price mismatch**, where Google compares your feed price to the price on your landing page: if your storefront shows tax-inclusive prices but your feed doesn't (or vice-versa), they won't match. ![Set the tax rate — #product_feed_taxRatePercent highlighted](https://awesomestoreapps.com/docs-assets/img/sale-prices-taxes-and-rounding/03-tax-rate.png) ## 5. Round and format prices **Round & format prices to this number of decimal places** controls how many decimals this feed's prices are formatted to, and it works like the tax setting above: **leave it empty and the feed uses your store-wide value from Settings** (see the [Settings](https://awesomestoreapps.com/docs/app-settings.md) guide, "Set tax and price rounding"); type a number to override it for this feed alone. Two decimals (`19.99 USD`) is what Facebook and Google expect, and it's also what keeps a tax-multiplied price from going out with a long trailing decimal like `24.3878` — so most stores leave this empty and configure rounding once in Settings. Override per feed only when one channel specifically needs whole numbers (`20 USD`) or extra precision. ![Round and format prices — #product_feed_roundPricesPrecision highlighted](https://awesomestoreapps.com/docs-assets/img/sale-prices-taxes-and-rounding/04-price-rounding.png) ## 6. Append the currency to product links (optional) Back in **Product feed settings**, **Append currency parameter to the product URL?** decides whether each product link ends in a `?currency=` tag. The default is *"Do **NOT** append. (default, example: my-store.com/products/my-product)"*; switch it to *"Do append. (example: my-store.com/products/my-product?currency=USD)"* to force the storefront to open in this feed's currency — which helps the landing-page price match the feed price. This is really a multi-currency concern, so it's covered in depth in the [Multi-Language & Currency Feeds](https://awesomestoreapps.com/docs/multi-language-and-currency-feeds.md) guide; here it's just one switch to know about. ![Append the currency to product links (optional) — #product_feed_appendCurrency highlighted](https://awesomestoreapps.com/docs-assets/img/sale-prices-taxes-and-rounding/05-append-currency.png) ## 7. Save and check the price in your feed Hit **Save** and the feed regenerates with your new pricing. Open the feed URL and look at a discounted product: with Compare-at on, you'll see both a `price` (the higher Compare-at value) and a `sale_price` (the lower actual value); a full-price product shows only a `price`. If tax is on, both numbers are already multiplied by your rate, and everything is formatted to your decimal places. That's the whole price pipeline — Compare-at, tax, rounding — visible in the feed exactly as Facebook and Google will read it. ![Save and check the price in your feed — #product_feed_submit highlighted](https://awesomestoreapps.com/docs-assets/img/sale-prices-taxes-and-rounding/06-save.png) ## FAQ ### Why isn't my sale price showing as a strikethrough in Facebook or Google? A sale price is only written when a variant's Shopify **Compare-at price is higher than its current price** *and* the **Use "Compare at" price** option is on (the default). If Compare-at is empty, equal to, or lower than the price, no `sale_price` is exported and the item shows at full price. Set a higher Compare-at price in Shopify and keep the option on its default. ### How does the app decide the price vs. the sale price? When a variant is on sale, the **Compare-at price becomes the regular `price`** and the **actual selling price becomes the `sale_price`** — so ads show the original price crossed out and the discounted price beside it. Products that aren't discounted export a single `price` with no `sale_price`. ### My feed price doesn't match my website — how do I fix the price mismatch? A **Google Merchant Center price mismatch** almost always comes from tax: Google compares your feed price to your landing-page price. Line them up by setting **Add tax to all prices** to match how your storefront displays prices — add tax (with the right rate) if your store shows tax-inclusive prices, or leave it off if it doesn't. The append-currency option helps too, by opening the landing page in the feed's currency. ### How do I add tax to the prices in my product feed? In the Advanced editor's **Add tax to all prices** section choose *"Do add tax to prices - set tax rate below"*, then enter the rate as a whole number in **Tax rate percent** (22 for 22%). Every price and sale price is multiplied by that rate before export. To configure tax once for every feed instead, leave feeds on *"Use global Settings"* and set it in the app **Settings**. ### What's the difference between the feed's tax setting and the global Settings? The global **Settings** tax option is the store-wide default; each feed's **Add tax to all prices** is an **override**. A feed set to *"Use global Settings"* follows the default; set it to *"Do add tax"* or *"Do NOT add tax"* and that feed ignores the default and does its own thing. The feed-level choice always wins. ### Will I accidentally add tax twice? Not if you set it in one place. Tax is applied once, using either the global Settings rate (when the feed is on *"Use global Settings"*) or the feed's own rate (when the feed overrides). It's never both. Double-counting only happens if your Shopify prices already include tax *and* you also switch tax on here — in that case leave the feed's tax off. ### Why does my feed price have too many decimal places? Prices are formatted with **Round & format prices to this number of decimal places** — the store-wide default lives in the app **Settings** (2 decimals, `19.99`, unless you changed it), and each feed can override it with its own value. If a tax multiplier produced a long decimal, the rounding is what trims it back. Two decimals is what Facebook and Google expect, so only override when a channel asks for whole numbers. ### Does the currency parameter change the price in my feed? No — the price numbers come from Shopify (and your tax/rounding settings). The **Append currency parameter** option only adds a `?currency=` tag to the product *link* so the storefront opens in the feed's currency. It's mainly for multi-currency stores; see the Multi-Language & Currency Feeds guide. ### Where do I set tax and rounding for all my feeds at once? In the app **Settings** page under "Set tax and price rounding". Those are the store-wide defaults; any feed left on *"Use global Settings"* inherits them, so you configure tax and rounding once instead of per feed. ## Related - [Shopify Product Feed Settings — Global Defaults for Every Feed](https://awesomestoreapps.com/docs/app-settings.md) - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Multi-Language & Multi-Currency Product Feeds (International Selling)](https://awesomestoreapps.com/docs/multi-language-and-currency-feeds.md) --- # Product ID Format: Make Your Feed Match the Facebook Pixel (content_id) > Your Facebook catalog id must match the content_ids your pixel sends, or dynamic ads and retargeting silently break. Learn the five product ID naming strategies in the app and which one to pick so your Shopify feed lines up with the pixel. Product feeds · 6 min read · Updated 2026-07-13 Canonical: https://awesomestoreapps.com/docs/product-ids-and-facebook-pixel-matching Dynamic ads and retargeting only work when Facebook can connect two things: the **id** on each item in your **catalog**, and the **`content_ids`** your **Meta pixel** fires when a shopper views a product, adds to cart, or buys. If those two identifiers don't match *exactly*, Meta has nothing to join on — so your Advantage+ catalog ads show no products, retargeting audiences stay empty, and the whole setup fails silently with no error anywhere. This is the single most common reason a technically "valid" feed still doesn't sell anything. This app writes the id into the `` field of every feed item, and it gives you **five Product ID formats** to choose from so you can line that id up with whatever your pixel already sends. This page explains what each format emits and which one to pick. ## 1. Understand the matching rule The rule is short: **the `id` in your feed must equal the `content_ids` value your pixel sends for the same product.** Meta joins events to catalog items by exact string match — the id is case-sensitive (`abc123` and `ABC123` are two different items) and capped at 100 characters. If your pixel fires `content_ids: ["shopify_284197941_670889949"]` but your feed item's id is just `670889949`, Meta sees two unrelated items and the ad has nothing to show. There's a second identifier that matters: ``. The app always sets this to your **product's** numeric ID, which groups every variant of one product together. Depending on whether your pixel sends `content_type: product` or `product_group`, Meta matches your event against the item `id` or the `item_group_id` — so it's worth knowing which one your pixel uses. ## 2. Open the Product ID format setting The Product ID format lives in the **Advanced editor**. From your dashboard, open the feed's **Actions** menu and choose **Edit (advanced)** (the Basic editor doesn't expose this setting). If you're currently in the Basic editor, use **Switch to advanced** — both editors edit the same feed, so nothing is lost. ![Open the Product ID format setting — s-buttoncommandFor="feed-menu-1" highlighted](https://awesomestoreapps.com/docs-assets/img/product-ids-and-facebook-pixel-matching/00-dashboard-open.png) ## 3. Find the "Other settings" section Scroll to the **Other settings** section at the bottom of the Advanced editor. The last control is **Product ID format** — a list of five radio options. Whatever you pick here becomes the id on every item the feed exports, so change it deliberately: switching formats renames every item in your catalog, and Meta treats renamed items as brand new ones (any existing ad performance and reviews attached to the old ids reset). ![Find the "Other settings" section — #product_feed_namingStrategyId highlighted](https://awesomestoreapps.com/docs-assets/img/product-ids-and-facebook-pixel-matching/01-other-settings.png) ## 4. Keep the default: Product ID (recommended) The default is **"Product ID default & recommended"**. It writes each variant's numeric Shopify ID into the item `id` (for example `6789012`) and the product's numeric ID into `item_group_id`. This is the right choice for most stores — especially if this app is the *only* thing building your catalog and you set up your pixel to send the same variant IDs, or you're not running dynamic ads that depend on a specific legacy id scheme. If dynamic ads work, don't change it. The second option, **"Product ID (if you export only one variant of a product) or Variant ID (if you export all / multiple variants)"**, is the app's *older* default, kept for feeds created before the default changed. It emits the product ID when you export a single variant per product, and the variant ID when you export all/multiple variants. Only pick this if you built your catalog under the old behavior and need to keep those exact ids stable. ![Keep the default: Product ID (recommended) — #product_feed_namingStrategyId highlighted](https://awesomestoreapps.com/docs-assets/img/product-ids-and-facebook-pixel-matching/02-id-format-radios.png) ## 5. Match Shopify's Facebook channel: the Global format If you *also* run Shopify's built-in **Facebook & Instagram sales channel**, its pixel sends content_ids in a `shopify_…` shape rather than a bare numeric id. To line up with it, pick the **Global format** option: - **"Global format (shopify, country code, product ID, variant ID - example: shopify_US_12345_6789012)"** — emits `shopify___`. The country code comes from the feed's Market country (defaults to `US`). Use this when you sell across **Shopify Markets / multiple countries** and your pixel is country-aware. - **"Global format (shopify, language code, product ID, variant ID - example: shopify_EN_12345_6789012)"** — the same shape but keyed by **language code** instead of country (defaults to `EN`), for **multi-language** stores that build one feed per translation. Historically Shopify's Facebook channel used a `shopify__` id (for example `shopify_284197941_670889949`); the country/language-coded variants above extend that convention for Markets. If your pixel already fires a `shopify_…` content_id, copy its exact shape here — that is the whole point of these two options. ![Match Shopify's Facebook channel: the Global format — #product_feed_namingStrategyId highlighted](https://awesomestoreapps.com/docs-assets/img/product-ids-and-facebook-pixel-matching/02-id-format-radios.png) ## 6. Use your SKU as the ID (with one big caveat) The last option is **"SKU as ID (note - *all* of your products MUST have an SKU, otherwise they won't be imported)"**. It uses each variant's SKU as the item id. This is handy when your catalog, your ERP, and your other sales channels all key off SKUs and you want one identifier everywhere — but heed the warning: **any variant without a SKU gets an empty id and is dropped from the feed entirely.** Only choose SKU as ID if you're certain every single variant has a unique, non-empty SKU. ![Use your SKU as the ID (with one big caveat) — #product_feed_namingStrategyId highlighted](https://awesomestoreapps.com/docs-assets/img/product-ids-and-facebook-pixel-matching/02-id-format-radios.png) ## 7. Save, then verify the two identifiers line up After picking a format, **Save**. The feed regenerates with the new ids. To confirm the match, open a product page in your store with the **Meta Pixel Helper** browser extension and compare the `content_ids` it reports against the `id` (or `item_group_id`) of the same product in Facebook Commerce Manager. If they're identical strings, your dynamic ads and retargeting will fire against real catalog items. If they differ, come back and switch the Product ID format to the one that produces the id your pixel is already sending. ## FAQ ### Why do my Facebook dynamic ads show no products even though my feed is valid? Almost always because the `id` in your catalog doesn't match the `content_ids` your pixel sends. A feed can pass every validation check and still fail here — Meta joins pixel events to catalog items by exact id match, so if the two identifiers differ, there's nothing to show. Fix it by setting the Product ID format so the feed's id equals what your pixel fires. ### What does "facebook pixel content_id not matching catalog" actually mean? Your pixel fires a `content_ids` value (like `shopify_284197941_670889949`) on product views and purchases. Your catalog item has an `id`. Meta matches the two by exact string. "Not matching" means the pixel's content_id and the catalog id are different strings, so retargeting audiences and Advantage+ catalog ads can't tie a shopper's activity to a specific product. ### What ID does the app put in my Facebook feed? Whatever the Product ID format setting says. The default writes each variant's numeric Shopify ID into ``; other options write `shopify_US_…`, `shopify_EN_…`, or your SKU. The product's numeric ID always goes into ``, which groups variants of the same product. ### Which Product ID format should I choose? Keep the default **Product ID** if dynamic ads already work or this app builds your only catalog. Choose a **Global format** (`shopify_US_…` or `shopify_EN_…`) if you also run Shopify's Facebook & Instagram channel and its pixel sends `shopify_…` content_ids. Choose **SKU as ID** only if every variant has a SKU and you key everything off SKUs. ### What format does Shopify's Facebook channel use for product IDs? Shopify's Facebook & Instagram channel has historically used `shopify__` (for example `shopify_284197941_670889949`) as the pixel's content_id. For stores selling across Markets, the app's Global format options extend this to include a country or language code (`shopify_US_12345_6789012`). Confirm your store's exact shape with the Meta Pixel Helper before choosing. ### Will changing the Product ID format break my existing catalog? It renames every item. Meta treats a renamed id as a brand-new item, so historical ad performance, reviews, and any manual edits tied to the old ids reset, and existing ads may stop serving until the catalog re-syncs. Only change the format when your ids genuinely don't match the pixel — then change it once and let everything re-sync. ### Why do my product variants all match the same ID in the pixel? Some pixel setups send the parent product ID for every variant instead of the specific variant ID. If your pixel does that, a feed keyed on variant IDs won't match. Either align the feed to send the product-level id, or fix the pixel to send the variant id — the two must use the same scheme. ### Do I need a SKU on every product to use SKU as ID? Yes. The SKU as ID option explicitly warns that *all* products must have a SKU; any variant without one gets an empty id and is dropped from the feed. If your catalog has SKU gaps, use one of the numeric ID formats instead. ### Where do I check whether the id and content_ids match? Use the Meta Pixel Helper browser extension on a live product page to read the `content_ids` the pixel fires, then open the same product in Facebook Commerce Manager and compare it to the item's `id` (or `item_group_id`). Matching strings mean your setup is correct. ## Related - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Facebook Product Sets and Catalog Rules for Shopify](https://awesomestoreapps.com/docs/facebook-rules.md) - [Facebook Feed Not Updating? Statuses, Schedules and How to Force a Refresh](https://awesomestoreapps.com/docs/troubleshoot-feed-not-updating.md) --- # Shopify Product Feed Settings — Global Defaults for Every Feed > Configure your Shopify product feed settings once — Google product category source, tax, GTIN/MPN, brand source, title length and attribute mapping — and have them apply to every Facebook and Google feed. Product feeds · 5 min read · Updated 2026-06-01 Canonical: https://awesomestoreapps.com/docs/app-settings **Settings** is the global defaults hub for your whole account — set something here once and it applies to *every* product feed you run, Facebook and Google alike. Think of it as the place where you tell the app where your data comes from (Shopify's own fields or the app's rules), how prices and tax should be handled, and how your Shopify product options map onto the structured fields that Facebook and Google expect. Most of these you set up once and forget; you can always override a few of them per feed later if a single channel needs something different. ## 1. Open Settings From your dashboard, head to **Settings**. Everything below lives on one page, grouped into clearly labeled sections, and there's a **Save** bar at the top that appears the moment you change anything. These are *global* defaults — they apply to all feeds at once, so a change here ripples out to your whole catalog. ## 2. Choose where your Google fields come from The first four sections control the **Google product category source**, plus the sources for **Google Gender**, **Age Group** and **Color**. For each one you pick between *Shopify's Google Shopping Channel / App* and *Awesome Facebook Product Feed (this app)*. Choose the app as the source when you want to drive these values with your own **Google Shopping rules** instead of relying on what Shopify exports — handy when Shopify's data is sparse or inconsistent. When the app is the source, a quick link lets you jump straight to editing those categories, genders, age groups or colors. ## 3. Decide whether to overwrite Shopify's category The **Overwrite Shopify's Google Shopping Channel / App's Category** setting decides what happens when both Shopify and the app have a category for a product. Leave it on *Do NOT overwrite* to respect whatever Shopify already has, or switch to *Do overwrite* to let the app's value win every time. This one needs product write permission — if you see a prompt to authorize, grant it first. ## 4. Set tax and price rounding In the **Add tax to all prices** section you decide whether the feed includes tax. Leave it off by default, or turn it on and enter your **tax rate percent** — if your rate is 22%, just type **22**. Right below, **round & format prices** controls the number of decimal places used in the feed (the default is 2). This is the place to fix prices that look off in your Facebook feed because of tax or rounding. ## 5. Pick GTIN, MPN and brand sources **GTIN** (Global Trade Item Number, like a UPC/EAN barcode) and **MPN** (Manufacturer Part Number) are unique product identifiers that Google and Facebook use to match your items. For each, choose where the value comes from: *None* (don't export it), your product's **SKU**, or its **Barcode**. The **brand source** setting nearby lets you export your product **vendor** as the brand (the default) or use the **product type** instead. Getting GTIN/MPN right helps your products match catalog entries and qualify for more ad placements. ## 6. Set SEO titles, descriptions and title length Turn on **Use SEO optimized title** and **Use SEO optimized description** to pull Shopify's *Page title* and *Meta description* into the feed instead of the default product title and body — useful when your SEO copy is more ad-friendly than your store copy. The **title length** setting caps how long the exported title can be (default 150 characters), which keeps you within channel limits and avoids awkward truncation. ## 7. Handle images and inventory location **Export additional images** decides whether extra product images flow into the feed — keep it on if you run Carousel ads that show several shots per product. Separately, **export stock for a single location** lets you base inventory on *all locations* (the default) or a *single location* — pick a single location when only one warehouse should drive availability in your feed. ## 8. Map your product attributes to Google fields The **Map product features (attributes) and metafields to Google fields** section is where you tell the app which of *your* Shopify options or metafields correspond to Google's **Gender**, **Age group**, **Color**, **Size**, **Pattern** and **Material** fields. For example, to feed both your *Pattern* and *Style* options into Google's Color field, enter **Pattern, Style** under Color. To map a metafield, use its **namespace.key** — so a metafield with namespace *Custom* and key *gender* becomes **Custom.gender**. Press Enter or a comma to finish each entry. When everything looks right, hit **Save** in the top bar and the defaults apply across all your feeds. ## FAQ ### Where should the Google product category come from? You choose per field: either Shopify's Google Shopping Channel / App, or Awesome Facebook Product Feed (this app). Pick the app when you want to drive the category with your own Google Shopping rules rather than Shopify's exported value — that's the most reliable option when Shopify's category data is missing or inconsistent. ### Do Settings apply to one feed or all of them? All of them. Settings are global defaults that apply to every product feed in your account. A handful of options (like tax) can be overridden per feed if a single channel needs something different, but everything starts from what you set here. ### How do I add tax to the feed? Open the Add tax to all prices section, switch it to 'Do add tax to prices', then enter your tax rate percent — for a 22% rate, type 22. The app then adds that tax to every price in the feed. Use the price rounding option just below if you also need to control decimal places. ### What are GTIN and MPN, and where do they come from? GTIN is the Global Trade Item Number (a UPC/EAN-style barcode) and MPN is the Manufacturer Part Number — both are unique identifiers Google and Facebook use to match your products. In Settings you choose their source: none, your product SKU, or its Barcode. Mapping them correctly improves how your items match catalog entries and which ad placements they qualify for. ### Should I export vendor or product type as the brand? The default exports your product vendor as the brand field, which is right for most stores. Switch the brand source to product type only if your product type field better represents the actual brand customers search for. ### How long can my product titles be? The title length setting controls the maximum, defaulting to 150 characters. Lower it if a channel truncates long titles awkwardly, or raise it within the channel's limit if your titles are getting cut short. ### What does mapping product attributes to Google fields do? It tells the app which of your Shopify options or metafields fill Google's Gender, Age group, Color, Size, Pattern and Material fields. For example, enter 'Pattern, Style' under Color to map those attributes there, or 'Custom.gender' to map a metafield's namespace.key. This is how custom product data ends up in the structured fields ads platforms expect. ### Why would I export stock for a single location? By default the feed sums inventory across all locations. If only one warehouse or store should drive what's shown as available in your feed — for example you fulfill online orders from a single location — switch to export stock for a single location and choose it. ### When do my changes take effect? As soon as you click Save in the top bar. Because these are global defaults, the new values apply to all of your feeds the next time they regenerate. ## Related - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Google Shopping Rules for Shopify (Auto-Assign Product Fields)](https://awesomestoreapps.com/docs/google-shopping-rules.md) - [Transform Product Images for Facebook and Instagram Feeds](https://awesomestoreapps.com/docs/transform-product-images.md) --- # Transform Product Images for Facebook and Instagram Feeds > Stop Facebook catalog images getting rejected. Pick the right product image and auto-resize to Facebook and Instagram's required size and aspect ratio — no re-uploading in Shopify. Product feeds · 5 min read · Updated 2026-07-07 Canonical: https://awesomestoreapps.com/docs/transform-product-images If Facebook keeps telling you your **catalog images are rejected** — too small, wrong shape, or just cropped badly in the feed — the fix usually isn't re-shooting your photos. It's two things: making sure each product points at the *right* image, and resizing those images to the **size and aspect ratio** each channel actually wants. This app does both. You pick which product image goes into the feed, then let the feed auto-resize everything to Facebook, Instagram, or Stories specs — no re-uploading in Shopify, no Photoshop. This guide walks through both halves. ## 1. Open the Images page From your dashboard, go to **Images**. You'll see a list of your products, each with a thumbnail of the image that's currently going into the feed and a **Change image** button. This is where you control, product by product, which photo represents each item in your Facebook and Instagram catalog. ## 2. Find the product you want to fix If a particular product looks wrong in your catalog, use the **Search by product name** box at the top to jump straight to it. Type a name and search; hit **Show all** to clear the filter and go back to the full list. The list is paginated, so search is the fast way in when you have a big catalog. ## 3. Pick which image the product uses Click **Change image** on a product to open its image picker. You'll see every image attached to that product as a card you can select. Choose the one that should appear in the feed — the **Default Image** option just uses the product's *first* Shopify image, which is the right call for most products. Pick a different card when the first image is a swatch, a size chart, or anything that shouldn't be the main creative, then save. ## 4. Turn on image resizing in the feed editor The per-product choice above controls *which* image; the resizing happens at the feed level. Open your product feed in the editor and find the **Transform (resize) images** section. This is where the feed automatically reshapes every image to a channel's required dimensions, so you're not fighting **Facebook's image requirements** one product at a time. This feature isn't included on every plan. ## 5. Choose the right aspect ratio for your channel The **Transform (resize) images** dropdown has five options. Pick the one that matches where the catalog is going: *Do not transform images* leaves images exactly as they are in Shopify; *Resize to 1.91:1 ratio (2048 x 1072 px, legacy format for link previews)* is the older landscape format for link previews; *Resize to 1:1 ratio (2048 x 2048 px, recommended for Instagram Feed & Carousel)* is the square format Instagram Feed and Carousel ads expect; *Resize to 4:5 ratio (2048 x 2560 px, recommended for Facebook Feed)* is the tall portrait format that fills the Facebook Feed; and *Resize to 9:16 ratio (2048 x 3640 px, recommended for Stories & Reels)* is full-screen vertical for Stories and Reels. Every option resizes to 2048 px on the long edge, so you clear Facebook's minimum image size comfortably and stop the "image too small" rejections. ## 6. Preview the result, then save Before you commit, you can open **Preview images transformations** to see how a sample image looks at each ratio side by side — handy for deciding between square and portrait. When you're happy with the choice, **Save** the feed. The feed re-generates and the resized images flow through to your Facebook and Instagram catalog automatically; you never touch the originals in Shopify. ## FAQ ### Why are my images rejected by Facebook? Almost always because they're too small or the wrong shape for the placement. Facebook disapproves catalog images below its minimum size and crops or rejects ones with an awkward aspect ratio. Turn on Transform (resize) images and the feed resizes to 2048 px on the long edge in a channel-approved ratio, which clears the most common rejection reasons without you re-uploading anything. ### What image size does Facebook require? Facebook wants catalog images that are large enough to render cleanly across placements — small thumbnails get disapproved. Every resize option in this app outputs 2048 px on the long edge (for example 2048 x 2560 px for the 4:5 Facebook Feed format), which sits well above the minimum and looks sharp everywhere. ### Which aspect ratio should I use for Instagram vs Facebook Feed? Use 1:1 (2048 x 2048 px) for Instagram Feed and Carousel, and 4:5 (2048 x 2560 px) for the Facebook Feed. If your catalog also powers Stories and Reels, 9:16 gives you the full-screen vertical creative. Run separate feeds per channel if you want each one resized to its ideal ratio. ### Do I have to re-upload my images in Shopify? No. The app resizes the images as it builds the feed and leaves your Shopify originals untouched. Change the setting, save, and the catalog picks up the new sizes on the next refresh. ### Can I choose a different image than the first one? Yes. On the Images page, open a product with Change image and pick any of its attached photos. The Default Image option uses the product's first Shopify image; choose another card when that first image isn't the best main creative. ### Is image transformation included in every plan? No — resizing isn't included on every plan. If you don't see the Transform (resize) images options in the feed editor, it isn't part of your current plan. Picking which image each product uses on the Images page is available regardless. ### My image looks cropped in the catalog — how do I fix that? That's usually an aspect-ratio mismatch. Pick the ratio that matches the placement (1:1 for Instagram Feed, 4:5 for Facebook Feed, 9:16 for Stories/Reels) and use the Preview images transformations view to confirm the crop before saving. ## Related - [Create a Facebook Product Feed for Shopify (Advanced)](https://awesomestoreapps.com/docs/create-a-product-feed-advanced.md) - [Facebook Product Sets and Catalog Rules for Shopify](https://awesomestoreapps.com/docs/facebook-rules.md) - [Google Shopping Rules for Shopify (Auto-Assign Product Fields)](https://awesomestoreapps.com/docs/google-shopping-rules.md)