Sell products on Instagram and TikTok
The channel is usually blocked by catalogue data and follow-through, not by the content calendar. Here is what actually has to work.

Most requests to open a shop on Instagram or a TikTok Shop arrive framed as a content question: what to post, how often, in which format. Content matters, but it is rarely what stalls these projects. What stalls them is plumbing — a catalogue that has to leave your store in a shape a machine will accept, a decision about where the money changes hands, and a measurement picture that gets murkier the moment a social app opens your site inside its own browser. This page walks through the mechanics in the order they tend to bite: how the catalogue gets there, what the data has to look like, who owns the checkout, where the click should land, and what you can honestly measure afterwards.
What social selling actually asks of your store
A social storefront is not a second website. It is a copy of your catalogue living inside somebody else's app, kept in step by a feed, feeding a set of surfaces — a shop tab, product tags on posts and video, ads that pull from the same catalogue. So the first question is not what to post. It is whether your product data can survive being read by a system that has never seen your store, cannot see your theme, and rejects anything ambiguous. Titles written for a human already browsing a category, prices that live in a plugin rather than in the product record, stock that refreshes once a night: all of these are invisible on your own site and hard failures in a catalogue. Content sits on top of that layer and cannot compensate for it.
How catalogue sync actually works
There are three ways your products reach a social platform, and they fail differently. An official connector plugin maps WooCommerce fields to the platform's commerce catalogue and pushes changes on a schedule. A generated feed file — CSV or XML at a URL — waits for the platform to fetch it on its own cadence. Or you upload manually, which stops being viable somewhere around fifty products. Whichever you choose, the platform then reviews each item and can reject it quietly, one at a time, without emailing anyone. Sync is not instant either: a price change on your site can take hours to reach a tagged post, and a sold-out variant may stay buyable in the app until the next fetch. Plan around the lag rather than discovering it during a promotion.
- Choose deliberately: connector plugin, hosted feed file, or manual upload
- Check the rejected-items queue weekly — nobody notifies you
- Know your sync interval before planning a flash sale around it
- Map variants on purpose; colour and size become separate items
The product data that gets you rejected
The hygiene a social catalogue needs is the hygiene Google Shopping needs, which is convenient: fix it once and both channels improve. Titles should read as a search query and a shelf label at the same time — brand, product, the one attribute that distinguishes it — not the padded string someone wrote for a category page. Prices must match what the shopper is charged, including currency and any sale price expressed in the field the platform expects, because a mismatch is one of the faster routes to a suspended catalogue. Images want the product on a clean background: no price stickers, no promotional overlay text, no watermark, and nothing that turns into nonsense when cropped to a square or vertical frame. If you have already done this for Google Shopping, most of the work is behind you.
- Titles: brand, product, distinguishing attribute, in that order
- Price and sale price identical to the amount actually charged
- One clean primary image with no overlay text or watermark
- GTIN or MPN wherever you have it; identifiers reduce rejections
Checkout in the app or checkout on your store
Then the decision that shapes everything downstream: where does the money change hands. Buying inside the app is fewer steps, since payment method and address are already stored, and Baymard Institute's checkout research is a long argument that every removed step is worth something. What you trade away is ownership. The order lands in the platform's seller tools, the customer's email may be masked or missing, your list does not grow, your subscription and wholesale logic does not apply, and funds settle on the platform's schedule. Sending the shopper to your own store costs steps and returns the customer, the data and every rule your store already enforces. Availability moves too — native in-app checkout has opened and closed by market before, so verify what is actually available to you. If you send people home, that path should be as short as you can make it, which is what a native checkout handoff is for.
Where the click lands decides whether it converts
An ad or a tagged post that drops everyone on the homepage wastes most of what you paid for. The shopper saw one specific thing; they arrive somewhere that asks them to find it again, on a phone, in a session that began as entertainment. Every commerce surface on both platforms can deep-link to a specific product URL, and the page they land on should assume zero context: the item, the price, the variant they saw, and the buy control visible without scrolling. Social traffic is unusually unforgiving here because attention has to survive an app switch and a cold page load. If your template only makes sense to someone who has already browsed a category, the click is spent. Product page work is the highest-leverage fix, and it pays back on every other channel.
Tracking, consent and what you can honestly measure
Now the part nobody enjoys. When someone taps a link inside Instagram or TikTok, your site usually opens in the app's in-app browser rather than Safari or Chrome. That environment keeps its own storage, so a returning customer can look brand new, a saved cart may be gone, and a logged-in session can vanish. On iOS, Apple's App Tracking Transparency framework means much of the click-level identity you would once have relied on is simply unavailable unless the user opted in, so platforms model conversions instead of counting them. Add a consent banner that holds tags until acceptance and you have three independent reasons the reported numbers will disagree with your order list. The answer is not more tags: it is server-side event forwarding where offered, consistent identifiers, and monthly reconciliation, which is how analytics is wired on a rebuilt storefront.
- Expect the in-app browser to look like a first-time visitor
- Reconcile platform-reported conversions against real orders monthly
- Use server-side event forwarding where the platform supports it
- Treat modelled conversions as a direction, not a receipt
When a social catalogue is not your problem
A catalogue does not create demand. This is the common failure: a store connects the feed, tags every post, waits, then concludes the integration is broken because nothing sold. Usually the integration is fine and the content is not earning attention. Feeds make it easy to buy something a person already wants; they do not make anyone want it. If your posts get little watch time, few saves, and no comments that sound like questions from buyers, fix that before spending on plumbing. There is a second case for doing nothing. A catalogue of thirty products with steady demand elsewhere often does better with a link in bio and one strong product page than with a full commerce integration and its review queue. And if your margin cannot absorb platform fees plus a higher return rate, the honest answer may be that this channel is not for you yet.
The operational load nobody budgets for
The last cost is running it. This is a cadence, not a project: something has to be published often enough that the shop surface is not an empty room, and that work does not end when the integration does. Inbound moves to DMs and comments, which is now a support channel with same-day expectations and no ticket history unless you build one. Returns behave differently as well, since an impulse purchase from a video is decided in seconds and reconsidered later far more often than a purchase made after comparing a category. Check your returns policy and your margin against that before scaling spend. Decide who owns the reply queue, who reads the rejected-items list, and what the delivery promise says. A channel nobody owns quietly rots, and the catalogue keeps advertising products you no longer stock.
Frequently asked questions
What does it cost to get this working properly?
The connectors themselves are free, so the cost is the work around them: cleaning product data, deciding on the checkout path, and making the landing pages worth the click. Engagements start at $1,999, and for most stores the money goes into the product pages and speed rather than the feed itself, because that is where social traffic is actually lost.
What is the risk of connecting a catalogue to a platform?
The realistic risks are a suspended catalogue from price or policy mismatches, and orders arriving in a place your team does not check daily. Both are process problems rather than technical ones. Keep prices identical to what is charged, assign someone to the rejection queue, and decide before launch whether platform orders flow back into WooCommerce or live separately.
How long before this channel is worth judging?
The technical side is usually days: feed configured, items reviewed, deep links in place. Judging the channel takes longer, because you need enough posts and enough orders to separate a real result from a single video that happened to travel. Give it a content cycle of several weeks, and reconcile against actual orders rather than in-app reporting.
What happens to my existing WooCommerce setup?
It stays where it is and remains the source of truth. Products, stock, prices, coupons, tax and shipping rules, payment gateways and your order workflow continue to live in WordPress, and the social catalogue is a synchronised copy of that data. If we rebuild the storefront, only the customer-facing layer changes; your team keeps the admin they already use.
Google Shopping feed
Most Shopping problems are data problems. How a WooCommerce product feed is built, why Merchant Center disapproves items, and how each fix actually works.
Product page optimization
Turn product pages into answer machines: imagery, variants, honest stock, sizing help, delivery and returns that settle doubt before the add-to-cart tap.
Mobile shoppers leaving
Most of your traffic is phones on average networks and mid-range devices. See what your visitors actually get, and which mobile failures cost you orders.
See how many sales your store is losing
Start with a free speed audit. You'll get your store's real numbers and an honest recommendation — even if it's "you don't need us".