Shopify's Additional Payment Methods - The silent attribution killer

By Jonathan Halbrecht

Updated February 28, 2023.

A screenshot image from Google Analytics showing Shop.app / referral as the most converting traffic source

Let me know if this sounds familiar to you:



You've recently opened your Google Analytics to examine which traffic sources are driving people to your store.



If you tried to identify which traffic sources led to the most transactions (by using a Google Analytics segment or sorting on "Transactions"), you may have noticed an odd source/medium that appears as shop.app / referral.



A screenshot of google analytics showing shop.app as a traffic source


What's even more unusual is that if you look at the conversion rate of this source, it's insanely high.



A screen shot from Google Analytics showing the high conversion rate for Shop.app source


You may have been asking yourself "What is this shop.app source, and if it's converting so well, shouldn't I be trying to get more people through it?"

Let's break these questions down and tackle them one by one:

What is Shop.app / referral and why is it showing as a source for my Shopify store?

Before we answer this question, here is a quick reminder of how Google Analytics determines the source of traffic:

How does Google Analytics determine the source and medium of traffic?

  • If UTM parameters are passed in the URL as the user enters your site, these determine the source/medium if they were specified.
  • If the source/medium wasn’t explicitly specified, Google looks at an internal parameter called a referrer. If it finds one, then that would be set as the “source”, and “referral” will be set as the medium.
  • If it doesn’t find the referrer path, either because the site was opened on a new tab/window or because a site chose to hide the referral (yes, you can intentionally hide the referring site parameter), then Google has no idea who was referring the traffic.
  • If Google recognizes the device or the user, then it would look back to see if they saw that user within the past 30 mins, and if so, assign their previous source/medium to the current session as well.
  • If it doesn’t recognize the device or the user, they would just assign “Direct/none” as the source/medium.
  • This method is often referred to as Last non-direct click. Google assumes that you would rather have their best guess than no information at all. It's also the cause for a lot of confusion among Shopify store operators

(for further reference on the processing flow of the traffic parameters, see this article from Google)

How does Google “know” a visitor on my store has made a purchase?

One more important thing to understand about the native integration between Google Analytics and Shopify, is that the actual purchase signal is being sent to Google at the “Thank you” page.



Shopify’s internal code is set up so that when the user has finished the checkout process and made it to that page, Shopify is sending the “transaction” even to Google.



That means that if someone never made it to Shopify’s thank you page for some reason, then the transaction would not be counted in Google Analytics.



That part of the process is the main reason why you may have seen some discrepancies in the past between Shopify’s data and Google Analytics’ data. Their numbers won’t match because there are many reasons which can prevent the event being sent from Shopify’s thank you page. But that’s for another post.



Ok, with that out of the way, let’s get back to Shopify.

You bought it, you broke it.

You know how Shopify allows you, as a merchant, to offer your clients several express checkout options? You know, Apple Pay, Amazon Pay, Google Pay, and maybe most importantly, Shopify Pay.



When your client chooses to go through one of these payment options, Shopify "sends" the user to these platforms to authenticate themselves and their payment method before bringing them back to your thank you page once the transaction is confirmed and finalized.



So far, so good, right? Well, almost.



As far as your store is concerned, everything went smoothly.

Your customer chose their preferred payment method, you got the payment, everyone is happy.



Now recall what I mentioned in the previous section about Google Analytics - What Google sees on their end is that right before the transaction event, on the thank you page, the user came in from another source… Because Shopify sends the customer outside of your site and then brings them back in, Google thinks that the user entered your site again from another website.



That website isn’t sending UTM parameters, but it does include the “referrer” default parameter. Can you guess what that parameter’s value is? That’s right - shop.app



Now it all makes sense - Google thinks that shop.app is this great website that is sending over visitors who are converting at an incredible rate. In reality, it’s your customers who just came back from authorizing the Shopify App to pay for your goods in your store. No wonder it has a high conversion rate…



Ok, so what does this shop.app has to do with attribution again?

Let’s make it clear first - This issue doesn’t impact your sales directly in any way.

What it does is prevent you from understanding your traffic and what is converting well on your store. If every customer who pays through one of the express checkout options is marked as if they were acquired through shop.app, how would you know which traffic source you should really attribute this sale to?

Got it. So now what? How do I fix the shop.app source issue?

Google knows that these issues can happen, not just on your Shopify store but on many other use cases as well.

They offer a setting option on Google Analytics (both Universal Analytics and GA4), where you can tell Google something like “Hey, when someone comes through with traffic source X, just ignore it, treat it as if it’s a direct entry and attribute it to their last known source, if there is one”



That section is called “Referral Exclusion” in Universal Analytics (GA3) and you will find it in the Admin section under your Property settings > Tracking Info > Referral Exclusion List.



Finding it in GA4 is a bit trickier and requires Going through Property > Data Streams > Web > Clicking the relevant Stream > Configure Tag > Show All > List Unwanted Referrals (Follow this guide from Google)



Once there all you need to do add another record and add "shop.app" as the name of domain that Google needs to ignore.

Voila!

That’s it, no more shop.app in your data.

What about other payment methods?

Shop.app is not the only express checkout method Shopify offers merchants. Other payment options such as Apple Pay, Amazon Pay and Google Pay are also usually available. Other apps also modify Shopify's checkout while breaking the users' sessions- Recharge, Afterpay etc.

These other checkout methods will create a similar issue with your data (although Shop App is the most popular of them all).

To avoid similar attribution issues in your data, you can add the following domains to your Referral exclusion lists:

  • paypal.com
  • pay.google.com
  • apple.com
  • portal.afterpay.com
  • apay-us.amazon.com
  • checkout.recharge.com
  • checkout.shopify.com

Can someone help me fix it?

I know. It's a lot.

If all of the above was too much for you, we can help you set this up, feel free to book some time that works for you!