Remarketing based on imported offline data

One of the great features of Universal Analytics is the ability to upload offline data using the measurement protocol. You can upload any data from your CRM (Customer relationship management) and also offline transactions. Once this data is available in GA (Google Analytics) you can create audience groups and target these users based on imported offline data such as offline transactions.

A very powerful way of importing offline data is by using the Dimension Widening tool that enables you to group fields such as: content, campaigns, geo info, all of your custom dimensions, products SKU and more.

So what is Dimension Widening?

Technically, it’s adding a new field based on an existing field data, using the Join statement.

For example: if you have a list of products you sold (see Figure A, Table A), and you want to add the product category to differentiate between the products at a high level, so you build Table B locally (notice each products appears here only once).

After you upload the data from Table B (we’ll demonstrate later in particular), we’ll end up with the Final table in GA.

Attributing “productCategory” to “‘productName” field using Table B

Figure A: Attributing “productCategory” to “‘productName” field using Table B

Notice that even though “Watermelon” has only one row in Table, we still get 3 different rows of watermelon with it’s related “productCategory” in the Final table.

Notice also that because we didn’t hold the “productCategory” for “Banana”, it’s left empty in the Final Table.

I would like to demonstrate a couple of examples from the dimensions mentioned above. You can then see how powerful you become once you segment, based on these new dimensions you built and then build remarketing audience list.

Example 1 – Content:

A customer I work with is a classified platform site. In their CRM they have all of the data related to each position they offer, yet on their GA there’s a lack of information, such as the city/ region of the position, experience required for the position etc. They do have the positions ID on every position page as a parameter (?PositionID=###).

By using the dimension widening which is located in Admin -> Property -> Data Import (see figure B)

The Data Import feature for setting up Dimension Widening

Figure B: Locating the Data Import feature for setting up Dimension Widening

Choosing the Content Data (see Figure C) enables you to choose one of the three refinements options:

No refinement – the page you build in your local table (Table B) needs to contain exactly the same page path in order to join

Regex refinement – based on the regex rules

Query refinement – based on the parameters that are placed after the ? on the page path

Choosing the type of data and setting up the schema

Figure C: Left side – choosing the type of data, Right side – setting up the schema

In our example we’ll use the “Query refinement” to join based on the PositionID parameter.

We’ll insert “PositionID” in the text box, then choose in the custom dimension fields the Experience field that we set in advance. In case the custom dimension we choose (Experience in our example) gets value from other sources too, let’s say the datalayer that will be served via GTM (Google Tag Manager), we get to choose if we want this upload to overwrite existing data or add data only if it’s empty.

Now that we set the configuration for uploading external data, we can choose between manually uploading Table B, or using an API (Application Programming Interface) that runs on schedule every X days or hours.

After struggling with all of the technical part, now that we’re beginning to collect the Experience field, we can set a remanding list that contains only customers that we’re interested in very high experience requirements. These are probably customers that are worth targeting and bidding higher for their return.

Example 2 – User ID

Think about your local store in your town, a very small local store. The owner knows all of his customers, He is well aware of the heavy customers and those that barely buy and when they buy something it’s usually on sale. If you have a good implementation of a CRM system (such as Salesforce, NetSuite, Nimble, Hubspot ect.) you have an accurate data for each customer such as:

How often he visits

What’s his AOV (Average Order Value)

His LTV (Lifetime Value)

Buys on sale/ full price

Products interests

I can keep going on and on, but let’s just think a moment how much power you will achieve once you insert this data to your GA account.

Bid higher on customers that were suppose to visit you according to their historical behavior but didn’t appear for a while.

Bid higher on a customer that tend to spend more money every visit

What about your loyal customers that are in the top 5% that stopped visiting

If we know about customers that buy only on sale so lets target them during our special sales dates

Customers that are interested in new gadgets need to be targeted if a new gadget coming out soon

Now that we managed to bring back our customers, could you imagine what if we could customize our site accordingly…

Start the course now (free)