Track Shopify App Installs: 6 Best Attribution Methods

Written by Anoop Sharma
August 17, 2026 10 min read
Track Shopify App Installs: 6 Best Attribution Methods

How to Track the Source of Traffic and Installs for Your Shopify App

To track Shopify app installs by source, you have to solve one specific problem. A merchant clicks Add app and leaves your listing. They pass through Shopify's OAuth flow, which breaks the referrer chain. The install then arrives with no memory of where it came from.

This is why so many developers open GA4 and find every install labelled directly. The paid campaign, the blog post, the partner referral: all of it collapses into one bucket. Shopify's own forums carry unresolved threads on exactly this.

The fix is not one setting. It is a chain. Analytics on the listing, UTM discipline on inbound links, event tracking on the Add app button, and a join between session data and installs. This guide covers each step and compares six attribution methods.

TL;DR: How to Track Shopify App Installs

Question

Quick answer

Why do installs show as direct in GA4?

The Add app button routes through Shopify OAuth, which drops the referrer before the install lands on your side.

First step

Connect Google Analytics to your app listing using a separate property, not the one for your marketing site.

Second step

Add UTM parameters to every inbound link pointing at your listing.

Third step

Track Add app button clicks as a GA event so you can measure listing conversion.

The missing link

Joining session data to actual install events, which needs a BigQuery export rather than the GA4 interface.

Can you separate paid from organic App Store installs?

Not through Shopify Ads directly. You separate what you control by tagging your own inbound links.

What good looks like

A funnel showing page views, Add app clicks, and completed installs, broken down by source and search term.



Why Install Attribution Breaks on Shopify

Understanding the break point makes every fix downstream obvious. Here is the actual journey a merchant takes.

Stage

Where it happens

What is tracked

Merchant sees your ad or blog post

Your channel

UTM parameters, if you set them

Lands on your App Store listing

apps.shopify.com

GA4 session, if analytics is connected

Clicks Add app

apps.shopify.com

A GA event, if you configured one

Passes through Shopify OAuth

Shopify

Nothing you control

Install completes on your app

Your app

The install event, with no referrer


[Image alt text: diagram showing where install attribution breaks when merchants track Shopify app installs]

What Shopify Already Gives You Natively

Shopify lets you connect Google Analytics directly to your App Store listing, and Shopify's Partner documentation recommends doing so as a baseline. It is free and takes minutes.

Two setup details matter more than the rest.

Setting

Why it matters

Use a separate GA property

Your listing sits on a different domain to your marketing site, so a shared property muddies both views

Tag every inbound link

UTM parameters are the only way to distinguish your own channels once traffic reaches the listing

Track Add app clicks

Page views alone tell you about interest, not intent to install

Check Partner dashboard referrers

Shopify surfaces some referrer data, though at lower granularity than GA


This baseline answers half the question well. You will see which channels drive listing traffic and Add app clicks. It will not tell you which clicks became paying merchants. That data lives on the far side of the OAuth break.

The Install Funnel Metrics That Matter

Attribution is only useful if you measure the full path. These are the stages worth tracking when you track Shopify app installs at a channel level.

Metric

What it tells you

Listing page views by source

Which channels create awareness and drive traffic at all

Add app click rate

Whether your listing copy and screenshots convert interest into intent

Click-to-install completion

How many merchants abandon during OAuth, which is often higher than expected

Installs by traffic source

The number most teams want and most cannot produce

Installs by App Store search term

Which keywords bring merchants who actually install

Source-level retention

Whether a channel produces merchants who stay, not just merchants who install

Cost per install by channel

Acquisition spend joined to attributed installs


The last two separate serious teams from the rest. A channel producing a high volume of installs that churn within three weeks may look efficient at first, but it loses badly to a channel bringing merchants who stay for two years. Without source-level retention, you optimise toward the wrong one. 

6 Ways to Track Shopify App Installs Compared

Each method solves a different part of the chain. Most teams combine three or four.

Method

What it captures

Limitation

GA on the listing

Page views and traffic sources reaching your listing

Stops at the listing, no install data

UTM parameters

Which of your own channels drove the visit

Cannot tag Shopify Ads or organic App Store search

Add app click events

Intent to install and listing conversion rate

Click is not a completed install

Partner dashboard referrers

Broad referrer categories from Shopify

Low granularity, no campaign detail

Custom OAuth state parameter

Passes limited data through the redirect

Engineering work, fragile, easy to break

GA4 to BigQuery join

Session source joined to completed install events

Requires BigQuery setup or a tool that handles it


The first four are standard practice and worth doing regardless. They tell you what happens up to the click. Only the last two get past the OAuth break. Of those, one avoids ongoing engineering maintenance.

Closing the Loop with BigQuery

BigQuery is the practical answer because GA4's interface cannot do the join you need, but its raw export can.

When GA4 exports to BigQuery, you get event-level session data rather than aggregated reports. Each listing visit exists as a queryable row with its source, medium, campaign, and search term. Join that against your install records and the gap closes.

What BigQuery unlocks

Why the GA4 interface cannot do it

Session source joined to install events

GA4 reports aggregate sessions, and installs happen off-platform

Full install funnel with stage conversion

Requires combining listing events with your own install data

Search term to install mapping

GA4 groups search data and does not connect it to downstream outcomes

Source-level retention and revenue

Needs install source joined to subscription history

Custom attribution windows

GA4 attribution models are fixed and cannot be redefined


Setting this up yourself means a GA4 export, a BigQuery project, and SQL to maintain as your schema changes. Elevate handles the join instead. Connect your Google Analytics and BigQuery data alongside your Shopify Partner account, and two views appear without any query writing.

The real advantage is what Elevate does with that data next. Shopify app teams can finally connect acquisition to the full merchant journey, so a traffic source or search term is no longer judged only by clicks or installs, but by the retention, churn, upgrades, and revenue it eventually produces. That closes a visibility gap most app teams have had to live with until now. 

View

What it shows

Install Funnel

How merchants move from page views to Add app clicks to completed installs, with conversion at every stage

Traffic Source Insights

Where installs originate across traffic sources and search terms, so you know which channels bring your best merchants


[Image alt text: install funnel view showing how to track Shopify app installs from page views through to completion]

Because install source sits alongside subscription data in the same system, you can go further than attribution. Pair it with merchant lifetime value to see which channels produce high-LTV merchants, or with customer health scoring to spot sources that deliver installs which never activate. For teams running several apps, multi store analytics rolls attribution up across the whole portfolio.

Setting Up Install Tracking in 7 Steps

1. Add GA4 to your Shopify App Store listing

In your Shopify Partner Dashboard, open your app listing and add the GA4 Measurement ID under Tracking information. This connects your Shopify App Store listing traffic to Google Analytics 4 and is the starting point for Shopify app install tracking.

2. Create a GA4 Measurement Protocol API secret

In GA4, go to Admin → Data Streams, open the same stream used for your Shopify app listing, and create a Measurement Protocol API secret. Shopify uses this to send completed app install events directly to Google Analytics.

3. Add the API secret to your Shopify app listing

Return to the Tracking information section of your Shopify App Store listing and add the API secret. Once configured, Shopify can send the shopify_app_install event when a merchant completes an install, giving you full-fledged Shopify App Store install attribution.

4. Create a Google Cloud project and enable BigQuery

Create a new Google Cloud project or select an existing one, then enable the BigQuery API. This gives you a destination for exporting the raw GA4 event data used to analyse Shopify app installs, traffic sources, and attribution.

5. Link Google Analytics 4 to BigQuery

In GA4, go to Admin → Product Links → BigQuery Links and connect the Google Cloud project you created. Choose your data location and configure the BigQuery export so GA4 event-level data is available outside the standard Analytics reports.

6. Verify your Shopify app install data in BigQuery

Once the GA4 BigQuery export begins, check that event data is appearing in your BigQuery project. Your export can include Shopify App Store activity such as listing views, Install button interactions, App Store ad clicks, and the completed shopify_app_install event.

7. Connect BigQuery with Elevate

Connect the same BigQuery data to Elevate so your Shopify app install data can be analysed alongside the rest of your app analytics. Instead of reading raw GA4 and BigQuery events separately, you can use the combined data for Shopify app install source tracking and understand which channels, campaigns, and discovery sources are driving installs.

For Shopify app teams that want more than basic GA4 reporting, Elevate turns GA4 and BigQuery data into Shopify app analytics built around acquisition performance. With Shopify App Store traffic, install attribution, search terms, and downstream merchant behaviour in one place, teams can understand which acquisition channels are actually worth investing in and make growth decisions from data they previously had to piece together themselves. 

Frequently Asked Questions

How do I track Shopify app installs by source?

Connect a dedicated GA4 property to your listing and tag every inbound link with UTM parameters. Track Add app clicks as an event. Then join that session data to your install records through a BigQuery export.

Why do all my installs show as direct in GA4?

The Add app button routes merchants through Shopify's OAuth flow. That drops the referrer before the install completes. GA4 sees a new session with no source, so it labels it directly.

Can I track Shopify Ads installs separately from organic?

Not directly. Shopify Ads placements cannot carry your own UTM parameters. Paid and organic App Store traffic arrive looking the same. You can only cleanly attribute channels you drive yourself.

Do I need a separate Google Analytics property for my app listing?

Yes, it is strongly recommended. Your listing sits on a different domain to your marketing site. A shared property mixes two very different visitor behavior's into one view.

What is the install funnel for a Shopify app?

The path from listing page view to Add app click to completed install, with a conversion rate at each stage. Measuring all three stages shows whether you have a traffic problem, a listing problem, or an onboarding problem.

Why use BigQuery to track Shopify app installs?

GA4's interface reports aggregated sessions. It cannot join them to install events that happen off-platform. The BigQuery export gives you event-level rows, which join to install records and close the gap.

Can I see which App Store search terms drive installs?

Yes, but only with session data joined to install events. Search term data in GA4 stops at the listing. Connecting it to downstream installs needs BigQuery, or a tool that handles the join.

How far back does listing tracking go once I set it up?

Data collection is not retroactive. GA4 records traffic only from the moment the property is connected. Enable it before your next campaign, not after.