
The task is to obtain accurate data about the sources of conversions in the online store in order to have an idea about the real returns from different advertising channels and their interaction:
- SEO (Yandex, Google, Rambler, Mail);
- Contextual advertising (Yandex.Direct, Google Adwords, Runner);
- Goods selection systems (Yandex.Market, Price.ru, etc.);
- Other referral sources (partner sites, various traffic aggregators).
Problems online statistics
Everyone knows the problems of online statistics, so I’ll go straight to the point - even if the best data collection systems do not allow for offline conversion. As long as the user performs some actions online, we all know about him, but as soon as it comes to the phone, our meters immediately lose sight of him. In various areas of online trading, communication with the seller by phone plays a different role, but in our case it is important. Immediately, I’ll make a reservation that this is an online store of ceramic tiles, where, in principle, it’s difficult to sell online, because the buyer needs direct visual and tactile contact with the product and consultation of the seller. Therefore, in our case, accounting for offline conversions is a necessity. For these purposes, we have developed our own accounting system, the Chameleon. The principle of its operation is not new; a fairly large number of similar tools and systems are already on the market. We want to tell only about how to synchronize the data collected from oneself with the data from Google Analytics (GA) and, in fact, what it is generally needed for.
And for the beginning it is necessary to consider the second part of the problems, namely, the problems associated with the collection and processing of data on offline conversions. First, you need to tell what tracking methods are:
Substitution phone number
For each traffic source has its own number. The method has its limitations and disadvantages:- A limited number of telephone numbers does not allow making an unlimited number of sources and keeping track of them. For example, accounting for key phrases from the search;
- The relative complexity of the organization, i.e. here you can’t do with one PHP programmer, you’ll have to connect specialists of another specialization;
- As a consequence, the high cost of installation.
Discount Coupons
When a visitor is offered to print a certain coupon with a number for receiving a discount, here:- Actually the discounts themselves - they could not have been and, on the contrary, if you have a policy and a general system of sales discounts, for example, of a cumulative nature, you are unlikely to want to complicate it with coupon discounts;
- Nobody wants to be engaged in printing, laziness or simply no printer;
- It spoils our usability - if the space on the pages of the site is clearly planned out, if everything is where it is necessary and we try not to distract the user once again, then the coupon (and it should be clearly visible) will be superfluous.
Distribute ID to each user
When every visitor who comes to the site receives his ID and sees it either near the phone number or near the product, the problems are:- Sometimes the user writes out the phone numbers of several sites for calling everyone in a row, of course, without an ID;
- The human factor in the form of a seller on the phone:
There are still some ways to count visitors, but they are either not accurate, or they are interpretations of the above methods, so I’ll focus on the main three.Chameleon offline conversion accounting system

We, ultimately, chose the latter method of accounting, because in our case, he came up more, called
Chameleon’s own system and taught him the following simple actions:
- Determine the url of the source of transition to the site;
- The key phrase by which the user found a link to our store;
- Number visitors and give everyone their ID (shown below the image of each product);
- Record to each visitor his cookie ID for memorization;
- Save data (what, when, for what amount ordered) about customers - those who made a purchase from the site;
- Enter data about purchases by the seller, when the buyer makes a purchase by phone.
I will describe in the next article, of course, if this will be of interest to anyone, about how such a system is built in general and what problems we have encountered.And then it turned out the following - for all three methods (with a substitution, coupons or ID) there is a general heap of problems that greatly hinder adequate evaluation of advertising costs and introduce a high degree of error in the accuracy of the data.
Here are some of them:
- And what if before buying on your site, the user came to you five times from different sources?
- What if your product is not spontaneously purchased at all, but they spend on the choice of days or weeks?
- How to understand how many and what sources of transitions were before each purchase?
- How much time did the buyer have to choose from the moment of the first visit to the site?
- How to track those who came on the tab? etc.
Agree, it is enough to spoil all the statistics collected ...
Therefore, we decided to find some way to track the user, which would allow us to answer all the above questions, the method of obtaining complete statistics about our customers. Since we are a small company with only 6 employees, we cannot afford the development of a large statistics system like GA or Liveinternet. In addition, we would not want to burden ourselves with storing huge amounts of statistical data that we could get. Yes, and rebuilding the bike is also not the best way, so we decided to choose and use someone else's experience in the field of statistics and integrate them with our Chameleon. GA was chosen for this purpose.
Integration: Chameleon & Google Analytics
Next we only needed to take the basic data transfer method, and here we made a mistake, instead of using the custom variables
_trackPageview , we took account of the
_trackEvent events. Although this method is similar, it has one very important difference - it creates an event, i.e. if the user enters the site and we record an event, then GA will consider it as a transition within the site, which will not be a failure. After clarifying this feature, we changed the approach and started transferring data to GA using user variables via
_trackPageview .
To do this, in the GA code itself (standard tracking) before pageTracker._trackPageview (); we prescribe the formation of a variable:
pageTracker._setCustomVar(1, 'id', '3456', 2);
pageTracker._trackPageview();
For asynchronous tracking code:
_gaq.push(['_ setCustomVar', 1, 'id', '3456', 2]);
_gaq.push(['_trackPageview']);
The specification of this method:
_setCustomVar(index, name, value, opt_scope)
Options
Int index
- The position used for the user variable. Possible values: 1-5, inclusive.
String name
- The name of the user variable.
String value
- The value of the user variable.
Int opt_scope
- The scope used for the user variable. Possible values ​​are 1 for the visitor level, 2 for the session level, and 3 for the page level.
Result
Thus, Chameleon, we give out all users a unique ID, write it in a cookie and send it to Google Analytics. And at the end of each month we get a table with purchases on our website with a list of each customer's ID and go to analyze their behavior in Analytics. There we can:
- Group all of its customers into one segment, for example, “October buyers”;
- Check the general characteristics of the selected segment and compare with the rest of the data;
- Get information about how our customers went to their goal, starting from the entrance to the site and ending with the choice of goods.
- Etc
Here's how it looks on the screen with us:These are the paths through the site of a specific customer, we have created a segment that includes the user only with a specific ID. By the way, you can take all the IDs of all buyers for a certain period and compare their behavior with the behavior of other visitors.
So, he visited our site three times from 17/11/2010 to 11/20/2010, looked through only 6 pages and spent 5 and a half minutes on the site.

He's from Moscow.

He came to us on November 18 and 19.

And I found our site in Yandex on request - “tile sancy beige”.

And here are the four pages he viewed, as per the textbook - product card, contacts, delivery and payment methods.
