Guide · Shopify app distribution

Distribution is a chain of evidence, not one traffic number.

Separate discovery, listing intent, installation, activation, payment and retention so each decision uses the system that can actually support it.

Start with the decision

  1. 01Which app and merchant problem are you trying to grow?
  2. 02Which source or campaign is in scope?
  3. 03Is the bottleneck discovery, installation, activation, payment or retention?
  4. 04What event would prove the next stage?
  5. 05Which merchant records support the aggregate?
  6. 06What will you change if the result is materially different?

Match evidence to the stage

  1. 01App Store discovery: Shopify listing GA4 events and URL surface parameters
  2. 02App-owned acquisition: Marlo page_view, UTMs, affiliate reference, click ID, landing URL and referrer
  3. 03Installation: authoritative server event after Shopify authentication
  4. 04Trial or direct paid intent: authoritative billing lifecycle event
  5. 05Payment: authoritative trial_converted or paid event plus Shopify revenue evidence
  6. 06Retention: synced subscription, lifecycle, merchant and revenue history
  7. 07Reviews and category position: source-linked public App Store snapshots

No single identifier reliably spans every Shopify, browser and billing surface. Preserve the opaque first-party handoff where permitted and leave the rest unattributed.

Use the smallest useful stack

  1. 01Connect Shopify Partner data for merchant, lifecycle and revenue evidence
  2. 02Install Marlo’s hosted script on an app-owned page
  3. 03Preserve the acquisition ID beside—not inside—Shopify OAuth security state
  4. 04Send install, trial and paid evidence from the server
  5. 05Use affiliate links or campaign UTMs only when they match the real source
  6. 06Configure Shopify’s listing GA4 integration if listing views and Install-button clicks are a decision input
  7. 07Connect Google Ads only when supported click evidence should receive an offline conversion
  8. 08Track a small competitor set only when public changes affect a live positioning decision

Run a measurable experiment

  1. 01Write one falsifiable hypothesis
  2. 02Choose one app, audience and source
  3. 03Record the current sequential funnel and cohort window
  4. 04Change one material variable such as destination promise, onboarding step or trial prompt
  5. 05Keep campaign UTMs distinct
  6. 06Wait for the cohort to mature before comparing paid outcomes
  7. 07Inspect the linked merchants and report exclusions
  8. 08Keep, iterate or remove the change based on observed commercial evidence

A before-and-after movement can suggest where to investigate. It does not by itself prove incrementality or causation.

Specific first investigations

  1. 01Many app-owned visitors, few installs: check intent alignment, installation completion and handoff
  2. 02Installs, little trial or paid intent: check onboarding and first useful outcome
  3. 03Intent, little paid: inspect plan fit, trial completion and billing friction
  4. 04Paid conversions, weak retention: compare churn and merchant quality by retained source
  5. 05High install counts, weak revenue: confirm development and non-commercial stores are excluded
  6. 06Ranking or review movement: open the public source before changing listing copy

Set up each source

Use the acquisition-to-paid methodology for the full first-party funnel. Use the tracking setup, affiliate setup, Google Ads setup, competitor setup and store-classification guide for each boundary.

Platform limits to keep visible

  1. 01Shopify App Store listing traffic belongs to the listing owner’s configured analytics property
  2. 02Query parameters can disappear across App Store or OAuth journeys
  3. 03Shopify OAuth state remains a CSRF control and must not be repurposed
  4. 04Browser events do not prove installation or payment
  5. 05An accepted ad conversion is not proof of incrementality
  6. 06App Store result positions vary by locale and context
  7. 07Public competitor timing does not prove an effect on your acquisition or revenue
  8. 08Small cohorts can move dramatically without supporting a general conclusion

Use the method on your own data

Marlo keeps definitions beside the relevant report and detail views.

Start 7-day trial