Data, data and more data
Digital Analytics

Tracking multi-device users

Tracking multi-device users

Consumer habits and online behaviour are experimenting a vertiginous transformation in these years. Every business sector is finding out that knowing potential customer habits in each one of the different plataforms and devices is key. Only by knowing our users in depth we'll be able to adjust our offer and their necessities.

What does GA do by default

By default, Google Analytics generates an individual identification (unique ID) for each new browser/device from which the web is accessed (or app is executed). Thus, a same person may be represented in GA by different "unique visitors" (her or his smartphone, tablet, smart tv, laptop, work computer, home computer, etc).

This data is useful to know, for instance, the number of interactions the web has received from certain browser or device... but regarding user tracking, it doesn't really add that much, for these different IDs are not related among them despite they are in fact from a same person.

In order to link them together, a possibility is to associate each one of this GA IDs to a single user.[/column]

When a browser/device enters a website for the first time, it receives automatically an ID from GA (we'll call it for this explanation "GA1", "GA2", "GA3"...). This ID is an internal privative reference for GA, over which we have no control (we can't look it up nor modify it). In order to link different "unique visitors" to a single user, we need an ID that we can look up and use - so we'll generate our own ID and notify it to GA by means of a custom variable.


1. We'll generate an individual ID for each browser/device

In order to generate our won ID we'll need an algorithm able to generate unique numbers for each browser/device that accesses the website or app. We must keep in mind that this ID may be generated by thousands of users, and sometimes at the same time - so we want to make sure our algorithm will be able to guarantee the generation of an inmediate and unique ID for each one of them. This ID of our handling (we'll call it for this explanation "D1", "D2", "D3"...) will identify every browser/device that accesses our website. 

Where is this ID generated and where do we store it? High performance websites usually make use of caché and CDNs in order to relief servers - this way users can browse cached contets without burdening home servers. For this reason, servers usually don't know how many users are browsing their contents. That's why we'll generate the ID at the user's browser, and then it will be notified to GA by means of a custom variable - then stored at the server.

Let's take, for instance, a person that uses Chrome from home PC, Firefox at work, and Android Browser on her or his smartphone. We may assign “D1” to the home PC Chrome browser, “D2” to the office PC Firefox and “D3” to the smartphone.

Now that we have an ID for each browser/device we can look up and use ("D1", "D2", "D3"...), we could track each one of this browser/devices anonymously... but still not linked to a single user.

2. Associating our ID to a registered user

In order to link our IDs among them, connection nexus will be registered users. When an user registers at our website, database stores an unique ID for her or him (we'll call it "U1", "U2, "U3"...). We want to link in our database our handy own ID ("D1", "D2"...) with this user ID.

So, if the user is registering from office PC, we'll register in our database that user "U1" is related with external ID "D2". When this user "U1" logs in from, for instance, her or his smartphone, we'll store that this user "U1" is related with external ID "D3"; and so on for each one of the browser/devices that user logs in from. This way, we'll be linking in our platform every device from which that user has logged in to our website/app.

3. Data explotation

In order to extract from our data the user behaviour information, we'll send GA an enquiry by which we'll ask for all the data registered for each one of the IDs related to that user. For instance, we could use an Advanced Segment using the custom variable we have set, it value being a regular expression with all the IDs associated to that user. For example:


This way, we'll know the different channels an user has used, how, when, what time does she or he use each one of them, by which does she or he convert, etc. This will allow us to define better targeted campaigns and offers for each user depending on her or his habits.


Next Previous
This website uses cookies. If you continue browsing we consider that you agree our Cookie policy.