planpo.st
FeaturesFor AI agentsRevenue trackingPlatformsPricingBlogSupport
Sign inStart free trial →
planpo.st

Social scheduling with revenue built in. One platform for creators and businesses who treat social as a growth engine.

Planpo.st on Nick Launches

Product

SchedulerFor creatorsFor agenciesCompare toolsAlternativesPricing

Channels

InstagramLinkedInX (Twitter)ThreadsFacebookYouTubeTikTokAll channels →

AI agents

MCP serverFor AI agentsClaude CodeCursorChatGPTGemini CLIAll agents →

Revenue

Revenue trackingRevenue attributionStripeShopifyRevenueCatAll integrations →

Resources

DocsMCP toolsAPI referenceBlogAboutSupportContactPrivacyTerms

Compare planpo.st

  • planpo.st vs Postiz
  • planpo.st vs Buffer
  • planpo.st vs Hootsuite
  • planpo.st vs Later
  • planpo.st vs Sprout Social
  • planpo.st vs SocialBee
  • planpo.st vs Planable
  • planpo.st vs Metricool
  • planpo.st vs Loomly
  • planpo.st vs Publer
  • planpo.st vs Post Bridge
  • planpo.st vs Mixpost
  • planpo.st vs Blotato
  • planpo.st vs Typefully
  • All comparisons →
  • Alternatives →
© 2026 planpo.st · all rights reservedstatus: ● all systems normal
  1. Home
  2. /Integrations
  3. /Shopify
Shopify · revenue attribution

Which post sold the product? Shopify plus planpo.st answers that.

Ecommerce social is where attribution matters most and gets done least: you post the product, orders happen, and the connection between a specific post and a specific order lives in your gut instead of your reports.

planpo.st connects to Shopify the proper way, OAuth from your shop domain, and subscribes to paid orders. Every order that started from a tracked link in a post gets matched back to that post, and the product photo you scheduled on Tuesday gets credit for the Thursday order it caused.

Start 7-day free trial →How attribution works

Connecting Shopify takes three steps

1

Enter your shop domain

planpo.st sends you to Shopify's own consent screen. The requested scopes are read-only: orders, customers, products. Nothing that can edit your store.

2

Approve the connection

Shopify hands back an access token and planpo.st registers a webhook on paid orders, signature-verified so forged calls are dropped.

3

Schedule posts with tracked links

Product links in your posts become tracked redirects. Orders start attributing on their own.

Under the hood

The life of a Shopify payment, from post to number

A paid order matches to the click that led to it, directly or through a 30-day last-click window. Orders with no traceable social click stay unattributed, which keeps the per-post numbers trustworthy: when the revenue view says the Tuesday reel sold four units, it means four orders actually walked in through that link.

  1. 1

    A product post publishes with a tracked link

    The link points at your product page through a redirect that records the post, platform and campaign behind every click before passing the shopper through.

  2. 2

    An order gets paid in Shopify

    Shopify fires the orders/paid webhook planpo.st registered during OAuth. The signature is verified (HMAC) so forged calls are dropped, then the order is parsed.

  3. 3

    The matcher connects order to click

    Direct match to the recorded click when the trail held, 30-day last-click window when it did not, honestly unattributed when neither applies.

  4. 4

    The post shows its orders

    Attributed order revenue sits next to the post that drove it, in the dashboard and over MCP for any connected agent.

What counts

Which Shopify money shows up, and how

Paid orders, whatever created them

The webhook fires on paid orders: one-time purchases, repeat customers, subscription apps billing through Shopify. If the order reached paid, it counts.

Order totals as Shopify reports them

Amounts come from the order itself, in the currency your store charged, so the attribution view agrees with your Shopify admin.

Refunds

Refunds are not automatically subtracted here: the paid event already fired. Reconcile refunds in Shopify as usual; the per-post signal stays directionally right, and we would rather tell you that than fake precision.

Who runs this

Three ways this pairing gets used

Stores running product drops

Ecommerce

Each drop's posts carry their own tracked links across networks, and by the weekend the revenue view has ranked the networks by orders, not by likes.

Local businesses with weekly specials

Local

Every special gets its own link; the attribution view becomes a menu ranked by what actually sells, which beats any poll you could run.

Agencies running social for merchants

Agency

Read-only OAuth on the client's store, and the report shows orders per post. The retainer stops being defended with reach screenshots.

The alternative

Compared to the UTM spreadsheet you were about to build

The manual alternative for stores is UTM-tagging every link and reading Shopify's own analytics next to GA4, two dashboards that rarely agree and neither of which knows which social post a tag belonged to. It produces channel-level guesses on a good week.

Post-level attribution needs the scheduler and the order stream in one system, which is the entire design here: the tool that published the post is the tool the webhook reports to, so the join is automatic and labeled by confidence rather than assembled by hand at month-end.

Where manual still wins

If you post twice a month and check numbers quarterly, a spreadsheet is genuinely fine. Automated attribution earns its keep at the posting volume where the spreadsheet quietly stops being maintained.

What it looks like in practice

You schedule the same product across Instagram, Facebook and Threads for launch week, each with a tracked link to the product page.

Orders attribute per post, and by Friday you know Facebook drove eleven orders, Threads two, Instagram one directly (with the usual caveat that Instagram converts through bio and search too). Next launch gets planned from that, not from which post felt good.

Questions people ask

Can planpo.st change anything in my store?
No. The OAuth scopes are read_orders, read_customers and read_products. It reads what sold; it cannot touch products, prices or customers.
Does this work with Instagram, where links aren't clickable in captions?
Instagram attribution runs through the link in your bio and Stories links, both of which can be tracked. Feed posts drive orders indirectly, so treat Instagram's attributed number as a floor.
What about orders from repeat customers?
If a repeat order started from a tracked click, it attributes like any other. Attribution answers where the order came from, not whether the customer was new.
Do refunds get subtracted?
The webhook fires on paid orders, so the attributed number reflects what was paid. Reconcile refunds in Shopify as usual; the per-post signal stays directionally right.
What does it cost?
Revenue attribution including the Shopify integration is on the Pro plan, $39.99 a month, with a 7-day free trial.

Keep going

Other payment sources

StripeRevenueCat

The rest of the loop

Revenue attributionThe 7 networksRun it with an agentMCP server