ยท6 min readยทSam Wild

Which Instagram Post Is Actually Driving Sales?

Your bio link gets clicks โ€” but which post sent them? Here's how to track Instagram down to the individual post.

You posted a carousel on Monday. A Reel on Wednesday. A Story with a link sticker on Thursday. By Friday, you've got 8 new sales. The question you can't answer: which post did the work?

Instagram's built-in analytics tell you reach, impressions, saves, shares. None of that tells you which specific post led to a purchase. You can see that your profile got 200 link clicks this week, but those clicks are pooled across everything โ€” every post, every Story, every mention that drove someone to your bio.

This is the blind spot that makes Instagram marketing feel like guesswork. You're producing content, something is working, but you can't identify what.

Why Instagram makes this hard

Instagram doesn't let you put clickable links in feed post captions. Your options for getting someone from a post to your product are limited:

Bio link. Everyone funnels to the bio. "Link in bio" is the universal Instagram call-to-action. But every post points to the same bio link, so all your traffic gets blended together.

Story link stickers. Stories let you add a clickable link, which is great โ€” but Stories disappear after 24 hours. You get a brief window of trackable traffic, then it's gone.

DMs. Some brands send links via DM. This works but doesn't scale, and tracking is manual at best.

The result: most brands know Instagram drives sales (they can see the overall numbers), but they can't connect individual posts to individual purchases. Content strategy becomes "post more and hope" rather than "do more of what works."

The per-post link approach

The fix is straightforward: use a different tracked link for each post or campaign.

Instead of one bio link that says "shop here," you rotate your bio link to match your latest post. Or better, use a link-in-bio tool that gives each post its own destination โ€” and make each destination a tracked link.

Here's what that looks like in practice:

Monday carousel about your spring collection: Your bio link points to linkowl.app/l/spring-carousel which redirects to your product page. Anyone who taps "link in bio" after seeing this post gets attributed to it.

Wednesday Reel showing a product in use: You swap the bio link to linkowl.app/l/product-reel. New visitors from this Reel get tracked separately.

Thursday Story with link sticker: The sticker URL is linkowl.app/l/story-march. Direct click tracking, no bio needed.

Each link tracks independently. When someone clicks through and buys, you see which link โ€” and therefore which post โ€” drove the sale.

What this looks like in your data

After a week of per-post tracking, you might see:

Monday carousel: 45 clicks, 6 sales, ยฃ240 revenue Wednesday Reel: 120 clicks, 2 sales, ยฃ80 revenue Thursday Story: 30 clicks, 4 sales, ยฃ160 revenue

The Reel got the most clicks by far, but the conversion rate was poor โ€” lots of viewers, few buyers. The carousel had fewer clicks but converted well. The Story had the best conversion rate of all, despite the smallest audience.

Without per-post tracking, you'd look at the week and think "Instagram brought in ยฃ480." With tracking, you know carousels and Stories sell, Reels drive awareness but not purchases. That changes what you create next week.

Setting this up without overcomplicating it

You don't need a different link for every single post. That would be exhausting. Instead, think in campaigns or content types:

By content type: One link for Reels, one for carousels, one for Stories. After a month, you know which format converts best.

By product: One link per product or collection. You learn which products your Instagram audience actually buys versus which ones they just like.

By campaign: Running a launch? One link for the launch content. Doing a collaboration? Separate link for collab posts. You see exactly which campaigns generate revenue.

The level of granularity depends on how much you care. Most small brands get 80% of the value from tracking by content type or campaign. You don't need to track every single Story frame.

The bio link rotation problem

If you're using the bio link approach (not Story stickers), you need to update it regularly. This is annoying but manageable:

Manual rotation. Update your bio link when you post new content. Takes 30 seconds. The downside: if someone visits your profile two days later from an old post, they'll click the current bio link, not the one that was active when you posted.

Link-in-bio tools. Tools like Linktree or Beacons give each post its own linked tile. You can make each tile a tracked link, so visitors self-select which content they're interested in.

Pinned posts. Pin your highest-converting posts to the top of your grid, each with a call-to-action pointing to a specific tracked link. These stay permanently and continue driving attributed traffic.

Practical setup with LinkOwl

  1. Create a link for each content type or campaign you want to track
  2. Use those links in your bio, Story stickers, or link-in-bio tool
  3. Connect your payment system (Shopify webhook, Stripe, RevenueCat)
  4. Check your dashboard weekly to see which posts drove purchases

With LinkOwl, each link costs nothing to create. You only pay 5p when an attributed sale happens. So creating 20 links for 20 different campaigns costs nothing upfront โ€” you only pay when it's working.

What to do with the data

Once you have a few weeks of per-post attribution data:

Double down on what converts. If carousels convert 3x better than Reels, spend more time on carousels. If product-in-use content outsells flat-lay photos, shoot more in-use content.

Stop wasting time on what doesn't. That beautifully produced Reel that got 50,000 views and zero sales? It's content for vanity, not revenue. Unless brand awareness is your explicit goal, redirect that production time.

Test systematically. Try different hooks, CTAs, posting times, and caption styles. When you can measure the result per post, each piece of content becomes a test. Over time, you build a playbook of what actually drives your audience to buy.

The gap between brands that grow on Instagram and brands that plateau is usually this: the growing ones know which content sells. They're not guessing. They're measuring, adjusting, and doing more of what works. Per-post attribution is how you get there.

Track your marketing links with LinkOwl

5p per sale, no subscription. Know exactly which post, influencer, or campaign drove each purchase.

Start tracking free โ†’