How to Set Up Google Analytics for Medium

    by Tom Maiaroto
    January 12, 2017
    Photo by sgabriel on Unsplash.

    This article was originally published on Medium.

    I still debate whether or not using Medium for my blog was a smart move. The transition has been brutal on my traffic numbers, but it’s getting there. However, Medium affords you some extra visibility. It’s a social network as much as a news platform and simple hassle-free place to write.

    A guide for not flying blind

    The biggest disadvantage one has with Medium is that there is no way to add custom code. The second thorn in many people’s paw is the lack of insight. Medium’s stats are limited.


    Fortunately, Medium now allows you to use Google Analytics! You can submit a request giving them your Analytics ID and they will add it for you (pretty quickly too).

    Note: You will need a publication and custom domain for this.

    Once done, you’ll start seeing session data and such. It’s pretty nice because you now get demographic information (age, gender, location, etc.).


    1. Making Things More Useful With Segments

    So this is worlds better than Medium’s stats, but still not wonderful. What else can you do? Well, you can set up a few segments in GA.

    A segment of users coming from Medium’s reading list

    A segment of users coming from Medium’s reading list

    If you look at all of the pages visited you can see Medium’s querystrings and how they send referral data. These are not exactly standard UTM params unfortunately, so things aren’t automatically picked up by GA.

    Reading Lists
    One of the important keys is source and it can contain a variety of values. The above screenshot shows how you’d go about building a segment of users who came to your publication from Medium’s reading list (reading_list is the value here).
    However, you should note that there are multiple reading lists on Medium and each source value will being with the phrase reading_list, so if you want to look at specific ones you’ll need to craft your regular expression a bit differently.

    For example, here’s the regex match for visitors from the Golang reading list: \?source\=reading\_list.+golang

    How many are there? Good question. Unlimited I imagine, I believe it’s based on tags. So you’ll want to look at your site content filtering URLs to only show those containing ?source=

    A variety of values for source=

    A variety of values for source=

    You’ll see some pretty odd ones that contain a series of dashes with numbers. You may want to ignore these, my best guess is that the numbers represent some sort of position in a grid.

    Footer Placement Cards

    You know at the bottom of each article how there’s some related stories in the footer? Ever wonder if you’re appearing in those places and how many people are reading your content due to that placement? Well, here ya go. You can define a segment for those with ?source=placement_card_footer

    E-mail & RSS

    Medium sends out e-mails and referrals from those too have this source param; digest.reader is a good way to spot them. In fact, those e-mails are also as specific as the reading lists in that there are specific types of e-mail digests for each tag (or at least the popular ones).

    Did you know Medium has RSS for you? One of the listed limitations on the support page for setting up GA says that sessions from RSS won’t be reflected. This is only if they are reading from the RSS itself and not if they came from a link within it. So you can see referrals from RSS feed. How often do people come from the RSS feed instead of just read it and move on? Your mileage will vary, but it’s there under ?source=rss


    As you inspect your site content more you’ll pick up some URL schemes that you may find useful. For example, you can create a segment of users who viewed the pages for each article tag. This can be useful if you are trying to figure out which tags are working for you.

    Medium’s URL for tag lists is pretty simple; /tagged/golang for example. I’ll use this to see how many people were looking for similar stories on my publication.

    Keep in mind this is not Medium’s page with other people’s content, it’s your own publication’s tagged stories. Their tagged articles list is under medium.com/tag/golang for example.

    Want to know how many visitors you got from Medium’s tagged lists? Instead of building your segment with Page or Landing Page, instead use Referral Path and contains /tag/xxxx

    2. Google Webmaster Tools (Search Console)

    Oh yea, you didn’t forget about this handy tool did you? It goes by the name Search Console these days. If you are using Medium with a custom domain, be sure to add your Medium publication to it.

    Google Search Console is extremely valuable for your Medium Publication.

    This is extremely valuable as it includes information about your Google indexed pages, search appearance, structured data (yup, Medium makes use of it), sitemaps, and search analytics (also visible in GA).

    Indexed Pages & Sitemaps

    Medium does indeed have an XML sitemap for your publication. It’s at /sitemap/sitemap.xml and it won’t be given to Google by default (as far as I can tell). By adding it yourself it may help Google discover and index your content faster.

    You can also easily see how many indexed pages you have with the search console and if anything is blocked or removed.

    Granted, you don’t have tons of control to change things should there be a problem, but this tool does provide some insight.

    Structured Data

    Medium does make use of schema.org structured data on its pages. It’ll take a little bit to see the data appear in Search Console, but in a few days you’ll see it.

    Medium makes use of structured data for your posts

    Medium makes use of structured data for your posts

    Not happy with the data? Well, if you’re daring you could make use of Search Console’s Data Highlighter tool. Here’s where things could get interesting.

    First off let me first say that it’s very hard to highlight the date from your articles using this tool because the date on your pages is in a hard to parse format. It will say things like days ago, etc. and it also won’t have a year anywhere to pick up. So relying on Medium’s structured data tags may be a safer bet.

    However. If you want to add your own date to each of your articles, you are free to do so within the body of your story (maybe place it at the end in italics or something). Then you should be able to highlight this value to generate the structured data.

    Ok, not super clean, but ok. What else? Well, perhaps star ratings? Do you use Medium to review things?

    You might be able to put a consistent element for star ratings with some text that can be highlighted. Then pick it out with Data Highlighter to help generate the structured data for it. These star ratings would then appear in Google search results. Neato! Those orange stars in your Google search result can have a dramatic affect.

    Search Analytics

    By far, this is the most valuable thing that the Search Console provides and it also feeds that data into Google Analytics for you too.

    Google search info for your Medium content!

    Google search info for your Medium content!

    Search Analytics for Medium is one of the most valuable things you can setup.

    It’ll take a few days to start appearing, but it will provide you with a bunch of handy information. It shows you which search queries you are ranking well for. It also shows how many impressions and clicks you are receiving from them.

    This really can help guide your content by identifying specific keywords to be sure to include in your articles.

    Links to Your Content

    Last, but not least the Search Console also shows you other sites/pages linking to your content. It also shows which content is linked the most.

    This is also very valuable because it can help you figure out which articles are more likely to get picked up by other publications and aggregators. It also helps you identify content that could be linked more; so you can actually do something about promoting it.

    Action Items, Final Thoughts

    I covered a lot here, but it’s important to note that the two biggest steps here are:

    1. create a GA property and request Medium to add its GA tracking ID
    2. add your publication’s domain in Google Search Console

    The sooner you do this, the sooner data starts flowing.

    You will need a custom domain (or subdomain) to use with Medium as well as a Medium Publication.

    Again, this guide isn’t really intended for users without publications.

    Creating a publication is easy and free on Medium. They provide you a lot of flexibility that you won’t otherwise get (layout options, etc.). So I do highly suggest every writer to set one up.

    However, one thing you still won’t get are any events. I wish Medium would instrument everything. Hey, Medium if you’re listening??? Please send a GA event each time someone clicks any link in an article, clicks follow, share, favorite, highlights, or comments… Please…

    I highly doubt they’ll let us use GTM because that could lead to a mess, but it would fix all of Medium’s disadvantages — it would allow you to add custom code to your pages.

    Regardless, you don’t have to fly blind on Medium. It’s a wonderful tool and while you can’t control every detail, it’s still a very viable replacement for your blog.

    Tom Maiaroto is a full stack web application advisor. Follow him at @tmaiaroto on Twitter.

    Tagged: analytics google analytics marketing medium seo

    Comments are closed.

  • Who We Are

    MediaShift is the premier destination for insight and analysis at the intersection of media and technology. The MediaShift network includes MediaShift, EducationShift, MetricShift and Idea Lab, as well as workshops and weekend hackathons, email newsletters, a weekly podcast and a series of DigitalEd online trainings.

    About MediaShift »
    Contact us »
    Sponsor MediaShift »
    MediaShift Newsletters »

    Follow us on Social Media