⚠️ IMPORTANT!
These instructions are for GA Universal Analytics and are no longer applicable. Etsy now supports GA4.

The out-of-date article below is available to read if interested. If the topic is still relevant in GA4, it might be updated in the future.

POP QUIZ: Can Google Analytics answer this question?

“How do people find my Etsy store?”

At first, Google Analytics looks like it has all the answers! There in your reports, you see: direct traffic, referrals, a few from Facebook and other social media… Isn’t that how they got there?

ANSWER: Nope! Not unless you follow the instructions in this guide.

Google “etsy traffic sources” and you’ll find this little Help article from Etsy. In that article it says this:

“Google Analytics shows how people found Etsy.”

So, what’s the difference?

Well, that means that any of the traffic sources you see in Google Analytics could show how that person found the Etsy home page or an entirely different shop before they navigated to yours within Etsy. Half your so-called social media traffic could be from other people’s marketing! (And not in a good way…)

Even worse, Google Analytics doesn’t show you how people found your shop within Etsy, which makes up the bulk of your traffic. Etsy search, clicks from favorites or recently viewed, promoted listings: all hidden.

That kinda sucks.

Where’s all the Etsy traffic? Probably in “(direct) / (none)”…

You could just analyse your traffic sources in Shop Stats, but let’s fix it in Google Analytics instead.

This guide explains how to use channel definitions and filters to make traffic sources a whole lot more accurate!

This looks much better! Yep, these are the exact same visitors.

Why is this Guide not-quite definitive?

To build this solution, I manually collect and interpret all the different types of links within Etsy’s website. I might miss some and they do change slightly over time. I can’t claim that it will correctly attribute every single visitor you ever get.

In the years since I started this method, there have been no significant changes to how Etsy tracks their main internal traffic sources, like search. The links that tend to change are things like home page promotions and showing other products on a listing page (which they’re always experimenting with).

You can safely implement this configuration and know that your Etsy visitor attribution will be much more accurate, even if it’s sometimes not fully complete. (Which, honestly, is a helpful attitude to take with anything in Google Analytics.)

What’s the plan?

You already know that Google Analytics is powerful, but you might not realize just how much control you really have over your data before it shows up in your reports.

Channel Definitions

channel definition is what Analytics uses to determine whether a visit is Direct, Referral, Social, Organic Search, Paid Search etc. These are different from Source/Medium and are more like general “buckets” (or… Channels).

We’re going to edit the default channel definitions so in-Etsy visits go into the right buckets.

Filter

filter lets you exclude, include or change data of some kind. For example, you might already have a filter that excludes visits from your home IP address, so your own visits aren’t tracked.

We’re going to use filters that re-write traffic source data completely.

How?

All of this is based on the extra information Etsy includes in every URL. Check it out yourself: load any listing in Etsy and take a look at the URL in your browser.

https://www.etsy.com/listing/215141270/crochet-puff-earrings-gunmetal-grey?ref=finds_l 

That’s a link to one of my products. Notice the “ref=finds_l” at the end? That tells us how I got to the page. (“finds” means an Etsy Finds or Editors’ Picks gallery).

Almost every link on Etsy adds a “ref” value to the end, so Etsy can pull exciting reports about things like whether products on the left of a shop get more clicks than products on the right.

We can also use them, because they tell us how people really found your listing!

These changes are not retroactive!

Important note: Filters and new Channel Definitions will NOT apply to data that’s already in your account. They will only apply to NEW visitors and sessions. The sooner you set these configurations up, the sooner you can start looking at your real traffic sources from Etsy.

Channel Grouping Settings

Channels are like big buckets to group traffic from different places that have a similar purpose. For example, traffic from Google searches and searches on Etsy should both be in the “Organic Search” channel.

The Default Channel Groupings can be used across many of the standard Google Analytics reports, plus in custom reports and Dashboards. They’re a very handy way to do a first-look breakdown of where your visitors are coming from.

But right now, they’re all wrong!

We need to edit the Default Channel Grouping definitions. These are the set of rules that Google Analytics follows in the background to decide what Default Channel a particular visit (session) should go in.

What about custom Channel Groupings?

Keen-eyed readers may notice that you can create entirely new, custom Channel Groupings instead of messing with the defaults. And ideally, this is exactly what we’d do. Unfortunately, custom channels can’t be used in many reports – including custom reports or dashboards – so they aren’t that useful (yet). This risk of editing the defaults is why we make these changes in our Test View first, so we still have access to the original data (in our main View) if we make a mistake.

What are the defaults?

Head to View > Channel Settings > Channel Groupings > “Default Channel Grouping”

You’ll see the following list of Channels that are defined:

  • Direct
  • Organic Search
  • Social
  • Email
  • Affiliates
  • Referral
  • Paid Search
  • Other Advertising
  • Display

Click on each one and you’ll open the rules that define that channel. You’ll see that the standard definition is normally just to match the “System Defined Channel”. That doesn’t tell you much, but here are the definitions of each System Defined Channel. You do not need to understand all this to complete this configuration!

Most of the default definitions are based on the “Medium” of the visit. You’ll see that visits go into “Organic Search”, for example, when their Medium says organic“.

But we know that because Analytics is telling us the wrong traffic source for many of our visits from inside Etsy, the Medium values must be unreliable.

Let’s update each definition to use the handy “ref” value that Etsy gives us, to put our internal Etsy traffic into the right buckets!

How to edit your Default Channel Grouping definitions

ALL UPDATED – June 2020

1. Open the Channel Definitions

  1. Open the Admin area (bottom-left “cog” icon)
  2. Select your Etsy shop’s Account, Property & Test View in each column’s drop down
  3. Go to View > Channel Settings > Channel Groupings
  4. Open the Default Channel Grouping

2. Direct

  1. Click Direct to open the definition.
  2. Leave the existing rule alone, but click “AND” to add an extra one.
    1. Set the first two drop-downs of the rule to:
      Landing Page URL > does not match regex > 
    2. In the text box, paste in the following text: ^.*ref=.*$
  3. Click “OR” to add a new rule.
    1. Set the first two drop-downs of the rule to:
      Landing Page URL > matches regex > 
    2. In the text box, paste in the following text: ^.*ref=((also_bought|cart|condensed_|ks_|l2|listing-(free-shipping|shop)|lp_|nla_(listing|sfs|shop)|related-|s2|sh-|shop_(contact|home|items_search)|shopsection|simple-shop).*|.*(cart_overlay|listing-same|pagination|review|shop_overview).*)$
  4. Go ahead, change the Display Color! (You can do this for all of them if you like.)
  5. Click [ Done ] to save

Here are what the rules should look like:

A screenshot of how this information is visually displayed in the Channel Definition edit form.

Here’s what this means in plain English: 

Only allow a visit into the “Direct” bucket if…
a) It was already going to be put into the “Direct” bucket (according to GA’s built-in rules) AND
b) It did not come from inside Etsy (as far as we can tell).

We assume that the visit did not come from inside Etsy if the first page (Landing Page) either:
a) Does not have a “ref” value at all, OR
b) Has a “ref” value that’s only used for clicks from inside a shop. It’s impossible for this to be the first page a visitor sees unless this link has been shared somewhere else online, so it cannot be a visit directly from another part of Etsy.

3. Organic Search

These rules will count any unpaid clicks from Etsy searches to your shop, including:

  • Typing a keyword (regular search)
  • Browsing a “pre-filled” search, like a tag or a phrase Etsy is promoting in other ways
  • Browsing a category (which works like search)
  • Clicking a suggested shop name or going straight to your shop by searching your exact shop name

We’ll set a special Campaign for some of these later, to tell them apart. But I include them all in “Organic Search” because they all use the built-in search function in Etsy.

The Rules:

  1. Click Organic Search to open the definition.
  2. Change the existing rule to:
    Medium > exactly matches > organic
  3. Click “OR” on the right to add a new rule.
    (The “OR” means that either of these two rules can be true for this Channel to apply – they don’t both have to be true.)
  4. Set the new rule to:
    Landing Page URL > matches regex ^.*ref=(cat_gallery|sr_gallery|shop_sugg|ss_|search_shop_redirect).*$
  5. AND Set the rule to:
    Landing Page URL > does not match regex >  ^.*ref=.*$
  6. OR Set the new rule to:
    Landing Page URL > matches regex ^.*ref=(cat_gallery|sr_gallery|shop_sugg|ss_|search_shop_redirect).*$
  7. [ Done ]

4. Social

  1. Click Social to open the definition.
  2. Leave the existing rule alone, but click “AND” to add an extra one.
  3. Landing Page URL > does not match regex >  ^.*ref=.*$
  4. OR – Landing Page URL > matches regex >  ^.*ref=((also_bought|cart|condensed_|ks_|l2|listing-(free-shipping|shop)|lp_|nla_(listing|sfs|shop)|related-|s2|sh-|shop_(contact|home|items_search)|shopsection|simple-shop).*|.*(cart_overlay|listing-same|pagination|review|shop_overview).*)$
  5. [ Done ]

5. Email

  1. Click Email to open the definition.
  2. Leave the existing rule alone, but click “AND” to add an extra one.
  3. Landing Page URL > does not match regex >  ^.*ref=.*$
  4. OR – Landing Page URL > matches regex >  ^.*ref=((also_bought|cart|condensed_|ks_|l2|listing-(free-shipping|shop)|lp_|nla_(listing|sfs|shop)|related-|s2|sh-|shop_(contact|home|items_search)|shopsection|simple-shop).*|.*(cart_overlay|listing-same|pagination|review|shop_overview).*)$
  5. [ Done ]

6. Affiliates

  1. Click Affiliates to open the definition.
  2. Leave the existing rule alone, but click “AND” to add an extra one.
  3. Landing Page URL > does not match regex >  ^.*ref=.*$
  4. OR – Landing Page URL > matches regex >  ^.*ref=((also_bought|cart|condensed_|ks_|l2|listing-(free-shipping|shop)|lp_|nla_(listing|sfs|shop)|related-|s2|sh-|shop_(contact|home|items_search)|shopsection|simple-shop).*|.*(cart_overlay|listing-same|pagination|review|shop_overview).*)$
  5. [ Done ]

7. Paid Search

These rules count clicks from any paid ads you run inside Etsy, no matter where Etsy displays them: search results, similar listings, sold out listings or new places they might add in the future!

Your Offsite ads – and any other cost-per-click ads you run yourself – will also show up in this Channel, using the default rule.

The Rules:

  1. Click Paid Search to open the definition.
  2. Change the existing rule to:
    Medium > matches regex >  ^(cpc|ppc|paidsearch)$
  3. OR – Landing Page URL > matches regex >  ^.*ref=.*plkey.*$
  4. AND – Landing Page URL > does not match regex >  ^.*ref=.*$
  5. ORLanding Page URL > matches regex >  ^.*ref=.*plkey.*$
  6. AND – Ad Distribution Network > does not exactly match > Content
  7. [ Done ]

8. Referral

These rules capture any other in-Etsy traffic that hasn’t yet been sorted into an earlier bucket, while still ignoring links from inside your shop.

WATCH OUT: The rules for Referral are a bit different to the other Channels, with matches regex and does not match regex reversed. Enter these rules carefully!

  1. Click Referral to open the definition.
  2. Leave the existing rule alone
  3. OR – Landing Page URL > matches regex >  ^.*ref=.*$
  4. AND – System Defined Channel > matches > Referral
  5. OR – Landing Page URL > does not match regex > ^.*ref=((also_bought|cart|condensed_|ks_|l2|listing-(free-shipping|shop)|lp_|nla_(listing|sfs|shop)|related-|s2|sh-|shop_(contact|home|items_search)|shopsection|simple-shop).*|.*(cart_overlay|listing-same|pagination|review|shop_overview).*)$
  6. [ Done ]

9. Don’t change the last two Channels

You can ignore Other Advertising and Display.

10. SAVE your definitions (blue button at the bottom)

At this point, you’re best off to keep going and add your new Filters, too. It’s easiest to test and read your new, fixed up data if you’ve done both changes.

Filters

Filters let you permanently change your Google Analytics data in some way, by applying a simple rule. You might exclude certain kinds of visits (like from your home IP address) or make your page URLs all lowercase, so they don’t get listed twice.

We’re going to use them to take a look at our friend, the ref value, and re-write the visit’s Source, Medium and a few other things.

So if filters re-write the source of a visit entirely, why on earth did we make all those changes to the Channel Definitions??

That’s a good question. Unfortunately, visits are put into their Channels before filters are applied, so they’ll simply ignore these filters. That’s why we need to make effectively the same changes in both the Default Channel definitions and with filters, so that both Channel and Source/Medium data is correct.

So, let’s create those filters!

How to use Filters to correct your Etsy traffic source data

ALL UPDATED – June 2020

1. Open the list of filters

  1. Open the Admin area (bottom-left “cog” icon)
  2. Select your Etsy shop’s Account, Property & Test View in each column’s drop down
  3. Go to View > Filters

2. Identify all Etsy traffic

IMPORTANT UPDATE: JULY 29 2020

All visits to your shop from other places inside Etsy should have a Source of “etsy.com“. This filter has to check every single page view, not just the first (Landing) page, so we also make sure the filter doesn’t run when the visitor clicked on a link within your shop (categories, related listings etc).

  1. [ + Add Filter ] (red button above the list of filters)
  2. Filter NameCreate source: Etsy.com
  3. Filter TypeCustom
  4. Select “Advanced” from the list
  5. Field A -> Extract A = “Request URI” from the drop-down.
  6. Paste the following text into the box next to it: ^.*ref=(?!also_bou|cart|condensed_|ks_|l2|listing-(free-shipping|shop)|lp_|nla_(listing|sfs|shop)|related-|s2|sh-|shop_(contact|home|items_search)|shopsection|simple-shop|.*cart_overlay|.*listing-same|.*pagination|.*review|.*shop_overview).*$
  7. Output To -> Constructor = “Campaign Source from the drop-down.
  8. In the box next to it, enter: etsy.com
  9. Leave the rest of the settings as they are and press [ Save ]

3. Identify all Etsy referral traffic

IMPORTANT UPDATE: JULY 29 2020

Any visits from Etsy that aren’t from inside your shop or via searches or promoted listings are just regular “referral” traffic. We set their Medium to “referral“.

In this filter, we set all Etsy traffic as “referral”, then we’ll override it in the next two filters. This is an example of how filters are applied in the order that they’re listed in your account.

  1. [ + Add Filter ]
  2. Filter NameCreate Medium: Etsy referrals
  3. Filter TypeCustom
  4. Select “Advanced” from the list
  5. Field A -> Extract A = “Request URI” from the drop-down.
  6. Paste the following text into the box next to it:  ^.*ref=(?!also_bou|cart|condensed_|ks_|l2|listing-(free-shipping|shop)|lp_|nla_(listing|sfs|shop)|related-|s2|sh-|shop_(contact|home|items_search)|shopsection|simple-shop|.*cart_overlay|.*listing-same|.*pagination|.*review|.*shop_overview).*$
  7. Output To -> Constructor = “Campaign Medium“from the drop-down.
  8. In the box next to it, enter: referral
  9. Leave the rest of the settings as they are and press [ Save ]

4. Identify all Etsy search traffic

Next, we find visits that came via an internal Etsy search (but not within your own shop) and set their Medium to “organic“. This also captures visits from categories and “pre-filled” searches, like phrases Etsy promotes or popular items in a tag.

  1. [ + Add Filter ]
  2. Filter NameCreate Medium: Etsy search
  3. Filter TypeCustom
  4. Select “Advanced” from the list
  5. Field A > Request URI > ^.*ref=(cat_gallery|sr_gallery|shop_sugg|ss_|search_shop_redirect).*$
  6. Output To > Campaign Medium > organic
  7. Leave the rest of the settings as they are and [ Save ]

5. Identify all Etsy promoted listings traffic

Finally, we set the Medium for all traffic through your promoted listings to “cpc” (or “cost per click”). This is the standard Analytics Medium for this kind of advertising traffic.

  1. [ + Add Filter ]
  2. Filter Name = Create Medium: Etsy promoted listings
  3. Filter Type = Custom
  4. Select “Advanced” from the list
  5. Field A > Request URI >^.*ref=.*plkey.*$
  6. Output To > Campaign Medium > cpc
  7. Leave the rest of the settings as they are and [ Save ]

Phew! Take a break – those are the most important filters done and you might be getting some serious following-instructions-fatigue. I’ll wait while you make a cup of tea…

The rest of these filters are adding in the finer details of your traffic sources using the rest of the Google Analytics “campaign” fields. If you stop now, your basic traffic source reports will still be correct. Yay!

6. Record their search terms

For all traffic from Etsy searches or promoted listings, we can record what search terms they used to find you, even if this phrase was pre-filled by Etsy (like a tag).

  1. [ + Add Filter ]
  2. Filter Name = Create Campaign Term: Search
  3. Filter Type = Custom
  4. Select “Advanced” from the list
  5. Field A > Request URI > ^.*ga_search_query=([^&]+)\&.*$
  6. Output To > Campaign Term > $A1
    (That little code will output the search term that’s in the URL)
  7. Leave the rest of the settings as they are and [ Save ]

7. Identify specific Etsy referrals

We can set a Campaign Name for other regular sources of Etsy referrals, like the Etsy Home Page, or to tell apart different kinds of links in Etsy search results.

The next instructions tell you how to create filters for 16 specific in-Etsy sources. I’ve tried to match the names with what Etsy uses and to stay consistent with past versions of these filters, but sometimes I’ve chosen a different name that I think is clearer.

I’ve put them in rough order of value or importance. Skim through the titles to work out which ones might be useful to you – you don’t need to create them all!

Any visits that don’t fall into these specific campaigns will simply have a blank Campaign Name, but will still get the “etsy.com” Source and appropriate “referral, organic or cpc” Medium.

Follow the basic steps of creating a new advanced filter, like you’ve done so far, to apply these additional groups of settings:

Create Campaign: Etsy Home Page

This covers direct links to listings from an Etsy buyer’s home page, like “Recently Viewed” and featured trends. Etsy have kept these “ref” values really consistent over the past few years, so I expect this campaign to continue working reliably as Etsy changes and experiments with their home page promos.

  1. Field A > Request URI >  ^.*ref=(hp_|ugc_list).*$
  2. Output To > Campaign Name > Etsy Home Page

Create Campaign: Featured

Editors’ Picks, “Etsy Finds” or “featured” galleries.

  1. Field A > Request URI >  ^.*ref=(.*_finds|finds_|trending_item).*$
  2. Output To > Campaign Name > Featured

Create Campaign: Favorites

Users returning to their own favorites, including via the Updates drop down in the top-right of each page.

  1. Field A > Request URI >  ^.*ref=(user_profile|.*recently_favorited|notif_).*$
  2. Output To > Campaign Name > Favorites

Create Campaign: Similar Listings

When your listing is shown on another shop’s listing (active or sold out), as a similar or related item. This campaign will also get added to clicks on Promoted Listings (ads) that are shown on individual listings.

  1. Field A > Request URI >  ^.*ref=(.*_top_ad|.*_similar_listing|related_listings|similar_items|sold_out|styf-|dflc_).*$
  2. Output To > Campaign Name > Similar Listings

Create Campaign: Recently Viewed

Users returning to their recently viewed listings, except via the actual home page. (Those visits get the “Etsy Home Page” Campaign.)

  1. Field A > Request URI >  ^.*ref=(?!hp_)(rv|.*[_-]rv|.*recently_viewed).*$
  2. Output To > Campaign Name > Recently Viewed

Create Campaign: Similar to Recently Viewed

Users discovering your items because Etsy thinks they’re similar to other listings they’ve viewed.

  1. Field A > Request URI >  ^.*ref=(?!hp_).*(strv|srv).*$
  2. Output To > Campaign Name > Similar to Recently Viewed

Create Campaign: Our Picks for You

Users discovering your items through Etsy’s “Our Picks for You” feature, anywhere on the site apart from the home page.

  1. Field A > Request URI >  ^.*ref=(?!hp_).*opfy.*$
  2. Output To > Campaign Name > Our Picks for You

Create Campaign: Shop Updates

  1. Field A > Request URI >  ^.*ref=(shop-shares).*$
  2. Output To > Campaign Name > Shop Updates

Create Campaign: Purchases

Users going back to their past purchases.

  1. Field A > Request URI >  ^.*ref=yr_purchases.*$
  2. Output To > Campaign Name > Purchases

Create Campaign: Others’ Favorites

Users finding your shop via other people’s Favorites.

  1. Field A > Request URI >  ^.*ref=(.*_faveitems|.*_faveshops|.*_favoriter).*$
  2. Output To > Campaign Name > Others' Favorites

Create Campaign: Conversations

  1. Field A > Request URI > ^.*ref=.*_convo.*$
  2. Output To > Campaign Name > Conversations

Create Campaign: Shop Manager

Your own visits via the Shop Manager. Use this campaign to exclude your own visits in another filter or a segment.

  1. Field A > Request URI > ^.*ref=(hdr_|seller|listings_manager_grid).*$
  2. Output To > Campaign Name > Shop Manager
Types of Organic Search clicks:

The final four campaigns distinguish clicks from different kinds of organic searches. Visits with these campaigns should all have the “Organic Search” Channel and “organic” Medium. They will not get a Search Term, because Etsy doesn’t send this for us to read. These visits should make up a very small proportion of your total organic Etsy search traffic!

Create Campaign: Browse Category

  1. Field A > Request URI >  ^.*(ga_search_query=\&.*ref=sr_gallery)|(ref=br_).*$
  2. Output To > Campaign Name > Browse Category

Create Campaign: Exact Shop Name

Users who search for your exact shop username, without spaces. (This does not happen for ALL shops!)

  1. Field A > Request URI >  ^.*ref=search_shop_redirect.*$
  2. Output To > Campaign Name > Exact Shop Name

Create Campaign: Shop Suggestion

Clicks on the “Did you mean the shop…” link at the top of search results when a user searches for something similar to your shop name.

  1. Field A > Request URI > ^.*ref=shop_sugg.*$
  2. Output To > Campaign Name > Shop Suggestion

Create Campaign: Shop Search Results

Clicks on search results after a user searches with the “find shop names containing…” option.

  1. Field A > Request URI > ^.*ref=ss_.*$
  2. Output To > Campaign Name > Shop Search Results

That’s it! All filters are complete.

All done! Now what?

Congratulations on making it through this massive guide! Here are a few more tips to round things out and ways to get help.

Testing

You can test the filters straight away – just head to Real-Time reports and watch what happens as you enter your shop listings in different ways on Etsy. Try out each situation we created a filter for above (eg. from a search, Etsy home page etc.)

You must be clicking a link to a LISTING for Google Analytics code to run on your shop. Etsy does not run our tracking code on our shop home pages anymore.

If you filter yourself out of Real-Time reports, try it on a phone or tablet using your mobile data. Do not use the Etsy App for this test.

What reports to use

These changes now mean that each visit should have a (more) accurate Channel, Source, Medium and sometimes Campaign or campaign data (keyword or “content”). You can use this information in most reports you look at, by adding a Secondary Dimension, but you’ll mainly be looking at your Acquisition reports to see your new-and-improved data.

In particular, try these:

  • Acquisition > All Traffic > Channels
  • Acquisition > All Traffic > Source/Medium
  • Acquisition > Campaigns > All Campaigns
  • Acquisition > Campaigns > Organic Keywords

How to get some help

Quick question or niggling problem?

Check if it’s been answered in the comments below or leave a new comment with your question.

Here’s to accurate data!