PII Viewer for Google Analytics

PII Viewer for Google Analytics is a Google Chrome extension which allows you to map the user ID stored in Google Analytics to locally stored personally identifiable information (PII) such as name and email address.

Mailchimp in GA - with PII

How it works

Sending personally identifiable information (PII) to Google Analytics is strictly prohibited, but sending a unique user ID is in a custom dimension is permitted. This extension allows you to map the user ID stored in Google Analytics to locally stored PII such as name and email address.

Rather than building your own custom integration to map this data together, you can simply reference a locally stored CSV file (or use the in-built Mailchimp integration) and let this Chrome extension do the hard work. This means that you full comply with the Google Analytics privacy policy, but get to understand your visitor data.

Update
PII Viewer for Google Analytics now supports identifying users in Behaviour Flow and Mailchimp integration.
behavior-flow

Tutorials

Releases

Compliance with Google Analytics Terms of Service

This extension uses PII which is locally stored only, therefore this extension is fully compliant with the Google Analytics Terms of Service.

Contacts at Google have confirmed that the extension is compliant with the terms of service.

If you found this Chrome extension useful, why not say thanks by buying me a pot of tea to contribute to its maintenance. I don’t do coffee.

25 comments on “PII Viewer for Google Analytics

  1. Phil Amery says:

    David, this is a very useful tool (extension) you built
    I’m more than confident that many of us in digital marketing will take advantage of all the benefits this tool can offer, a cheaper alternative compared to more robust but paid softwares/applications
    PS: I’ll mention your extension in a study I’m currently working on, will let you know when published/available

    1. Thanks Phil. It’s great to hear that this is being made use of by others too. I’ve tried to make this as simple to understand and use as possible. Feedback of any kind is always most welcome.

  2. Chandra Bhatt says:

    David,
    This is very useful write up. We recently started using GA and I was just searching for what all benefits user id feature can provide us and hit your website. Really great piece of Chrome extension to match pseudo user-id to user id and related data. Just wanted to say thanks to you!

  3. Dan Gang says:

    Thanks David it seems you develop very useful tool.
    I have a question to you. I am interested in tracking my Facebook custom audience users. Specifically, we need to associate to each of our users their clicks on ads during various campaigns – assuming clicking on ads lead to our web pages from Facebook site. Can we use your tool to get the information and store per each user what ads s/he clicked?

    Thanks in advance – Dan

    1. Provided the click from each ad has a unique ID that can be attributed to a particular user, and you can get the unique ID out of the advertising platform, then yes it’s possible.

      As an example, you should take a look at the new Mailchimp integration for PII Viewer. I’ve written a tutorial on how to do something very similar on this post – Displaying Mailchimp subscribers in Google Analytics

  4. does this extension work with Unviersal Analytics. I am reading that Google does not allow the extraction of UserID via the Universal Analytics API. Am I wrong? How do you get around this, if at all?

    1. This works with Universal Analytics and is has been confirmed to be permitted by Google – in fact it was confirmed personally to me by their Analytics Evangelist. You need to send a “universally unique identifier” which is known only to you as a custom user ID / custom dimension.

      Check the following posts:

  5. Joe Dube says:

    Thank you developing this plugin, and for the tutorial on how to get it working with analytic! I will hopefully being using this extensively.

    Everything is working great for me with smaller lists, as soon as I try to import a big list (70,000 users) it doesn’t work. It looks like the mailchimp API times out. When I try using a csv it crashes the browser.

    Any tips on how to get a bigger list working?

    1. Hmm. Big lists are likely quite a problem for this. For big lists to work, the plugin would likely need recoding to use SQLite rather than chrome.storage. Alternatively, I could try changing the extension to have unlimitedStorage permission. I’m not sure how well this would behave in your case though.

  6. Joe Dube says:

    David,
    Thank you for the quick reply.
    If you update the extension to have unlimitedStorage, I will happily be the guinea pig who tests performance.
    Maybe an option to import a SQL database can be included in future integrations?

    1. Damn, unlimitedStorage isn’t possible with the current setup as it doesn’t work with wildcard subdomains like I’m using for the Mailchimp integration.

  7. Purushoth says:

    Hi David,
    Thanks for the awesome chrome plugin its helping a lot. I am facing some issues with tool tips that is shown while hovering “custom user id”. The tool tip got stuck in the screen and its never disappearing. Please look into these issue.

    1. cube says:

      Yes, nice plugin, but I see this as well. The tooltip endures even after it loses focus. Any idea when this will be fixed?

      1. I’ve got this fixed in the next release. See the issue.

  8. Purushoth says:

    Hi David,
    Thanks for this useful chrome add-on, it’s really handy. But one quirky issue i am facing while hovering on custom user id column the tool tip which is showing user information not getting disappear and getting stacked up in the screen. Please fix this issue.

  9. Alessandro says:

    Hello, this is great!
    What’s the reason for using a custom dimension rather than the User ID feature?

    1. User ID is not exposed in the Google Analytics interface (or anywhere). Rather it is used for consolidating cross device usage. A custom dimension is an easy workaround to this problem.

  10. Jen says:

    Do you know if PII is permitted if someone sets their public facing profile to use a username like lisa_smith (obviously is PII) and the only way it makes it into GA Is if someone views that url /profiles/123-lisa_smith? Is having /profiles/123-lisa_smith appear in the Behavior section in GA permitted or no?

    Jen

    1. If that URL is available for all users rather than just the logged in user, then it’s likely fine.

      If I browse to /profiles/123-lisa_smith and see here profile, I cannot be identified by a 3rd party as the user browsing the site. If however, the URL is only available to that person, then you are sending their PII to Google Analytics, so would need to prevent that URL from being sent to Google Analytics.

  11. Jen says:

    Thanks David. That makes sense.

  12. Justin Atkinson says:

    Hey David,

    Just wanted to say thanks for this great tool.

    I was able to leverage the information you provided and the newest version of Google Tag Manager to get this to work for tracking HubSpot users.

    Really appreciate the guidance.

    Thanks,

    -Justin

    1. Justin, that’s great. I need to get up to speed on GTM as you’re not the first to ask me about it.

      I’m in the middle of a new update for PII Viewer that will allow 10,000s of users to be imported. Up until now, I’ve used chrome storage, but that has it’s limits. “Soon”, I’ll have swapped that out for IndexedDB, which will be a big improvement for “power users”.

      1. Justin Atkinson says:

        Hey David,
        That sounds great! I will definitely take advantage of the larger import numbers.
        Also, let me know if at some point you want to learn more about the HubSpot integration. I’d be happy to share/walk you through what was done via GTM.

        Thanks again,
        -Justin

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>