Understanding measurement protocol validation server


This article is related to measurement protocol in Google Analytics.

If you are brand new to measurement protocol, then read this article first: Understanding Google Analytics measurement protocol.

In this article, I will show you, how to validate protocol hits by sending them to the measurement protocol validation server.

You can access the validation server via:

To access the validation server directly use the /debug/collect endpoint

Through this end point you can send hit data to the measurement protocol validation server instead of the GA server.

For example:

User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36

POST https://www.google-analytics.com/debug/collect?v=1&t=pageview&tid=UA-1029844-34&cid=c461d1ba-d341-499f-bc9e-673b67f2aa18&dh=mydemo.com&dp=%2Fhome&dt=testing%20page%20tracking


Understanding responses from Validation Server

When you send a hit to the measurement protocol validation server, the server will send you a response but that response will be in JSON format.

JSON, or JavaScript Object Notation is a language independent and light weight data exchange format, which is used to store and exchange data.

Following is an example of a response from measurement protocol validation server:


  “hitParsingResult“: [ {

    “valid”: true,

    “parserMessage“: [ ],

    “hit“: “/debug/collect?v=1\u0026t=pageview\u0026tid=UA-1009844-34\u0026cid=c461d1ba-d341-499f-bc9e-673b67f2aa18\u0026dh=mydemo.com\u0026dp=%2Fhome\u0026dt=testing%20page%20tracking”

  } ],

  “parserMessage”: [ {

    “messageType”: “INFO”,

    “description”: “Found 1 hit in the request.”

  } ]


Here hitParsingResult is an array and ‘valid‘, ‘parserMessage‘ and ‘hit‘ are the objects of this array.

Here the value of ‘valid‘ key is ‘true’. What that means, the hit is valid.

If the value of ‘valid’ key was ‘false’ then it would have meant, the hit is invalid.

When a hit is invalid, you can then get more details about the error through following parserMessage keys:

  1. messageType
  2. description
  3. messageCode
  4. parameter

For example, following is a response from measurement protocol validation server for an invalid hit:


  “hitParsingResult”: [ {

    “valid”: false,

    “parserMessage”: [ {

      “messageType”: “ERROR“,

      “description“: “The value provided for parameter ‘tid’ is invalid. Please see http://goo.gl/a8d4RP#tid for details.”,

      “messageCode“: “VALUE_INVALID”,

      “parameter”: “tid”

    } ],

    “hit”: “/debug/collect?v=1\u0026t=pageview\u0026t=event\u0026tid=1000844-34\u0026cid=c461d1ba-d341-499f-bc9e-673b67f2aa18\u0026dp=%2Fhome\u0026dt=testing%20page%20tracking”

  } ],

  “parserMessage”: [ {

    “messageType”: “INFO”,

    “description”: “Found 1 hit in the request.”

  } ]


Here the value of the ‘valid’ key is false and the value of the ‘messageType’ is ‘ERROR’. From these two values, we can conclude that the hit is invalid.

In order to get more details about the nature of the error, look at the values of various ‘parserMessage’ keys: ‘description’, ‘messageCode’ and ‘parameter’.

From the ‘description’ key, we can conclude that, the value provided for parameter ‘tid’ in the payload data is invalid and because of this reason, the hit is invalid. If we provide correct value to the ‘tid’ parameter, then hit will become valid.

This is the kind of insight you can get, by reading the responses from validation server.

Note: If you are sending hits to validation server then they won’t show up in your Google Analytics reports.

The easiest way to view the response sent by measurement protocol validation server, is by copy-pasting the transport and payload data into the address bar of your browser window:


Here, I have copy-pasted the following transport and payload data into the address bar of my browser window:



Other articles on measurement protocol

  1. Sending pageview data via measurement protocol in Google Analytics
  2. Sending campaign data via measurement protocol in Google Analytics
  3. Sending event data via measurement protocol in Google Analytics
  4. Sending ecommerce data via measurement protocol in Google Analytics
  5. Sending social interactions via measurement protocol in Google Analytics
  6. Creating and validating measurement protocol requests through postman

Most Popular E-Books from OptimizeSmart

Learn to read e-commerce reports book banner

How to learn and master Web Analytics and Google Analytics?

Take the Course

Check out my best selling books on Web Analytics and Conversion Optimization on Amazon

How to get lot more useful information?

I share lot more useful information on Web Analytics and Google Analytics on LinkedIn then I can via any other medium. So there is really an incentive for you, to follow me there.

Himanshu Sharma

Certified web analyst and founder of OptimizeSmart.com

My name is Himanshu Sharma and I help businesses find and fix their Google Analytics and conversion issues. If you have any questions or comments please contact me.

  • Over twelve years' experience in SEO, PPC and web analytics
  • Google Analytics certified
  • Google AdWords certified
  • Nominated for Digital Analytics Association Award for Excellence
  • Bachelors degree in Internet Science
  • Founder of OptimizeSmart.com and EventEducation.com

I am also the author of four books:

error: Alert: Content is protected !!