For your stack

IndieBob for Shopify app developers

Your app is a web app, so the tracker fits. Your billing is Shopify's, not Stripe's, so the revenue half does not — read that row before you sign up.

A Shopify app is an ordinary web app in an iframe, which means the browser SDK works the way it works anywhere else.

The catch is money: Shopify apps bill through Shopify's Billing API and get paid out by Shopify, and IndieBob's revenue features read Stripe webhooks. That is a real limitation, it is the first thing on this page, and it is not going to be softened.

Topic Your situationWhat IndieBob actually does

Billing and MRR

Gap

Shopify apps charge merchants through Shopify's Billing API and are paid out by Shopify, not by a processor you connect.

[1] Shopify.dev — Billing for apps

Revenue, MRR, churn and LTV are computed from Stripe webhooks. With Shopify Billing there is no Stripe stream to read, so those dashboards stay empty unless you also sell something through Stripe.

packages/billing/srcapps/web/server/api/stripe/webhooks.post.ts

Tracking the embedded app

IndieBob

Embedded apps render inside the Shopify admin using App Bridge, in an iframe on the admin origin.

[2] Shopify.dev — App Bridge / embedded apps

The tracker is a plain browser script with no cookies and no cross-site identifiers, so it runs in that frame; identify() lets you key events to the shop domain you already have server-side.

packages/tracker/src/index.tspackages/tracker/src/core/identity.ts

Where installs come from

Gap

You can put a GA4 measurement ID or a Facebook Pixel on the App Store listing itself, use URL parameters on inbound links, and Shopify documents full-funnel app install attribution. This is genuinely more than the Chrome Web Store gives you.

[3] Shopify.dev — Track your listing traffic

IndieBob sees nothing on the listing page. It captures UTM first-touch and last-touch on your own site and tracks outbound clicks to the listing — the step before Shopify picks it up.

packages/tracker/src/core/attribution.tspackages/tracker/src/collectors/outbound.ts

Server-side events

Even

Much of the interesting lifecycle — install webhook, uninstall, plan change — arrives at your backend, not in a browser.

[1] Shopify.dev — Billing for apps

The server client sends track and identify from Node; there is no server-side revenue call, so a paid-install event has to be modelled as a tracked event with properties.

packages/tracker/src/integrations/server.ts

Content and SEO for the listing

IndieBob

Shopify tells you to optimise the listing "for both merchants and the Shopify App Store search engine", and app listing visibility affects whether you appear in search results and category pages at all.

[3] Shopify.dev — Track your listing traffic[4] Shopify.dev — App listing visibility

Blog editor with SEO scoring, drafts grounded in your own facts sheet, generated social batches with per-post UTMs, and email to the list you build.

apps/web/server/api/projects/[id]/contentapps/web/server/utils/grounding.ts

Competitor cells cite that company's own public page, with the date we read it. IndieBob cells name the file in our own codebase that implements the claim — if a feature is not in the repo, it is not on this page.

What this will not do for you

  • No Shopify Billing integration. If Shopify is your only revenue source, treat IndieBob as a content-and-traffic tool and ignore the revenue tab.
  • No Partner Dashboard import. Install counts stay in Shopify; IndieBob only sees what happened on pages running the tracker. Shopify's own GA4 / Pixel hooks on the listing are the better tool for listing-side attribution.
  • The app-store listing page itself is on Shopify's domain, so it is outside the tracker the same way a Web Store listing is.

A good fit while you are marketing the app — site, blog, launch, email. A poor fit as your revenue dashboard, until either Shopify Billing support ships or you sell a Stripe-billed product alongside it.

Sources

  1. [1]Shopify.dev — Billing for apps — https://shopify.dev/docs/apps/launch/billing · accessed 1 Sept 2026
  2. [2]Shopify.dev — App Bridge / embedded apps — https://shopify.dev/docs/api/app-bridge · accessed 1 Sept 2026
  3. [3]Shopify.dev — Track your listing traffic — https://shopify.dev/docs/apps/launch/marketing/track-listing-traffic · accessed 1 Sept 2026
  4. [4]Shopify.dev — App listing visibility — https://shopify.dev/docs/apps/launch/distribution/visibility · accessed 1 Sept 2026

Products change. If something here is out of date or wrong, tell us and we will fix the page — the accessed dates are there so you can see how stale a claim might be.