On a website with affiliate links, where there is no programmatic access to the conversion logs, I treat it as offline conversions.
My Setup
Online
- A user visit my website, see the affiliated ad and a
promotion viewhit is being sent. - When the user clicks the ad, a
promotion clickhit is being sent and the user is redirected to another page on my site. - On the "redirection page", an
product viewhit is being sent, and the user is being redirected to the affiliation link, passing his Google Analytics clientId.
Offline
- Once a week I download the stats from the affiliate program, which looks something like:
clientId visits conversions revenue 4444444444.3333333333 1 0 $0 1234567890.1234567890 1 1 $16.40
Then I use the Measurement Protocol to send offline events:
- For each line of visit, I send a
product clickhit. - For each line of conversion, I send a
product purchasehit.
My Problem
The conversion shows up on the eCommerce report:
Because the offline hits are being sent after the original session is already closed, a new session is opened which doesn't contain the info about the user. So I can't see the conversion on the demographic report, for example:
Optional Solution?
I'm thinking of using the user-id feature of Google Analytics.
Even though the users are not identified, I can identify them by their clientId.
Sure, this is not what Google intended when they introduced that feature, but I believe it will solve my issue. I'm just not sure about the negatives.
My Questions
- Any feedback on my setup?
- Why is it even necessary to pass the clientId after the session is closed? what kind of information is being shared between the real session and the offline hit?
- Is it a bad idea to pass the clientId as a userId to Google Analytics? Why?

