How to analyze your performance in the new Shopify App Store using Google Sheets

UPDATE 1: Unfortunately Shopify has disabled this data for app devs now, no explanation given. Hopefully we'll get it back- openness is good for a healthy app ecosystem.

UPDATE 2: It's back! Thanks Shopify :)

If you're a Shopify app developer like us, the new Shopify App Store is an exciting change but also one we've awaited with trepidation: how is it going to affect our business and how can we optimise our visibility in this new landscape?

We make our decisions here at Plug in Useful based on data. The old app store didn't give us much of that, just page views. We had no idea if users were finding us through search, our positioning or something else. Confounding any decent experimentation in optimization.

That's why I am so enthusiastic about new data Shopify is giving us. They're now tacking a variety of parameters to our app store URL to identify things like what the user searched for and where we appeared in results.

The parameters use the concept of 'surfaces' where your app can appear.

  surface_type surface_detail

search

what the user searched for

home
the section of the apps.shopify.com home like 'featured' and 'recommended-for-you'
collection
collections like 'works-with-kit' and 'sales-channels'
category
categories like 'finding-and-adding-products' and 'productivity'

For each of these we have the page on which our app appeared: surface_intra_position and the position on the page: surface_inter_position.

We can do some slicing and dicing in Google Analytics but it's not easy to group and compare query parameters here (UTM params could've been nice). In Google Sheets we can learn so much more and it's easy to get started.

Setting up the Google Analytics spreadsheet add-on

The Google Analytics spreadsheet add-on pulls data from GA into Google Sheets. Install it here.

In one sheet we'll have our report configuration, the next sheet the report data and the final sheet will be where we analyze it.

Create a new report

Select your Account and Property, enter 'Pageviews' as the Metric and 'Page' as the Dimension. Push 'Create Report'

In the report configuration we want to filter just our Shopify App Store views and those with the parameters (not all views have these!). Enter this as your filter, replacing plug-in-nps with whatever your app path is on the app store:

ga:pagePath=~^\/plug-in-nps\?surface_detail.*

Run the report

The results appear in the 'Report results' tab

Not particularly useful yet. We need to split up the query params so we can do the really interesting stuff of filtering and grouping.

Create a new sheet with these headings

In the Page column A2, reference the first page cell on the Report results sheet like ='Report results'!A16

Fill this formula down through the whole column. On Mac that's ctrl+shift+down arrow, cmd+return

Repeat similar for Pageviews

Now our monster formula for splitting up the query params

Paste this into C2:

=MID($A2,FIND(C$1&"=",$A2,1)+LEN(C$1)+1,IFERROR(FIND("&",$A2,FIND(C$1&"=",$A2,1)+LEN(C$1)+1)-FIND(C$1&"=",$A2,1)-(LEN(C$1)+1),LEN($A2)-FIND(C$1&"=",$A2,1)-LEN(C$1)))

Giving you something like this

Fill this formula all the way down the column.

Copy the formula into D2, E2 and F2. Fill those columns down too.

You should be left with a nice analysis-ready sheet like this

Now we can group, sort and filter to find out how we're performing in all of the different parts of the app store.

This is the most basic example of what's possible. Adding an additional dimension to the report like week lets us track performance over time. And of course all of the behavioural metrics are available here.

As I mentioned at the start, not all views have these surface parameters. You can see for example that pushing 'See more' in the Trending apps section of the homepage takes us to a new surface where all of the apps lack parameters. Hopefully this is just an oversight and we'll see more data available for us as bugs get ironed out.

There's also no indication of the pricing filter (free/paid/all) or sort option (popular/newest) the user selected.

But for now there's plenty to learn and iterate on to optimize our app store performance with this new level of detail Shopify have given us.