I want to programmatically update a custom field associated with a Google Analytics Client ID. The custom field I want to associate with each Client Id, will be called "Leads" and it's value can either be "Sold" or it can be empty.
I want to know how to update custom data by Client ID; either via PHP or JavaScript. Is this possible with analytics.js or possibly a REST api of some sort?
Thank you.
You can programmatically push data to Google Analytics via Google's Measurement Protocol.
In order to associate custom data to a client id you must create a custom dimension.
Example code (PHP) pushing data to Google Analytics.
// init curl handler
$ch = curl_init();
// replace these values with your tracking id and the client id
$trackingId = '';
$clientId = '';
// set url
$baseUrl = 'https://www.google-analytics.com/debug/collect?v=1&tid='.$trackingId;
$url = $baseUrl.'&t=pageview&dp=%2F&cd1=Sold&cid='.$clientId;
// set options
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => $url
));
$response = curl_exec($ch);
print_r($response);
I am still unsure of how to globally update that custom dimension for the client id, so I created an alternate question for that here.