'Always get “Cannot parse non Measurement Protocol hits”

I have a little Python program that other people use and I would like to offer opt-in telemetry such that can get an idea of the usage patterns. Google Analytics 4 with the Measurement Protocol seems to be the thing that I want to use. I have created a new property and a new data stream.

I have tried to validate the request and set it to www.google-analytics.com/debug/mp/collect?measurement_id=G-LQDLGRLGZS&api_secret=JXGZ_CyvTt29ucNi9y0DkA via post and send this JSON payload:

{
    "app_instance_id": "MyAppId",
    "client_id": "TestClient.xx",
    "events": [
        {
            "name": "login",
            "params": {}
        }
    ]
}

The response that I get is this:

{
    "validationMessages": [
        {
            "description": "Cannot parse non Measurement Protocol hits.",
            "validationCode": "INTERNAL_ERROR"
        }
    ]
}

I seem to be doing exactly what they do in the documentation or tutorials. I must be doing something wrong, but I don't know, what is missing. What do I have to do in order to successfully validate the request?



Solution 1:[1]

Try to remove /debug part in the URL. In the example you followed it is not present so it is not quite exactly the same.

Solution 2:[2]

we just came across the same issue and the solution for us was to put https:// in front of the URL. Hope this helps.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Michele Pisani
Solution 2 Shoe