I am trying to stress test my google analytics system and I have sent around 100,000 request to the GA at the rate of about 3000/s . I have received 200 as the status code for successful ping to GA. All the request sent are exactly similar.
But when I see the real time dashboard the numbers are wrong and only shows about 1/3 the total requests sent. Has anybody observed similar behavior with GA?
Do You know that a standart (free) version of GA has many restrictions? For example it has limited number of hits per second collect by it. It is normal behaviour to limit collected data if You make 3000 hits per second.
As per documentation:
ga.js:
Each ga.js tracker object starts with 10 hits that are replenished at
a rate of 1 hit per second. Applies only to event type hits.
analytics.js:
Each analytics.js tracker object starts with 20 hits that are
replenished at a rate of 2 hit per second. Applies to All hits except
for ecommerce (item or transaction).
Android SDK
For each tracker instance on a device, each app instance starts with
60 hits that are replenished at a rate of 1 hit every 2 seconds.
Applies to All hits except for ecommerce (item or transaction).
iOS SDK
Each property starts with 60 hits that are replenished at a rate of 1
hit every 2 seconds. Applies to All hits except for ecommerce (item or
transaction).
Related
I am currently successfully tracking purchases from website using enhanced ecommerce (via GTM).
I have Goals configured that correctly track these in real time. E.g. event goal for Category = Enhanced Ecommerce and Action = transaction.
However, when I try to track purchases using the measurement-protocol I get the event for the enhanced ecommerce, but I can find nothing in conversion (under the goals or otherwise) about the purchase. I am using the hit-builder.
I have configured various goals and tried many different variations. In my last attempt I created a goal which should match if the label is equal to "serverevent".
Then I sent this:
v=1&t=event&tid=MY_TID&cid=5ca7c46d-a46a-4e0b-a395-b4d1bb228fee&ti=T123415789&ta=test&tr=150&pa=purchase&pr1id=P123459&pr1nm=GiftCard_150&pr1ca=test&cu=EUR&iq=1&ec=Ecommerce&ea=Activation&ni=1&pr1qt=1&el=serverevent
In GA I can see the event coming in with event category "Ecommerce", action "Activation" and label "serverevent", but I see nothing in conversions and the goal still has 0 hits.
I have used POSTMAN to post to https://www.google-analytics.com/debug/collect, and I get back "valid" and "Found 1 hit in the request."
I don't know what else I can try. To be clear I am trying to track server side purchases because these are sales by third parties through our API.
The google analytics standard reports take time to process Google stats it can take between 24 -48 hours for the data to complete processing.
You can see if your hits are being recorded by checking the real time api. As for the standard reports your going to have to wait between 24 - 48 hours to see if the results have completed processing.
Property hits volume = pageview?
I checked my Google Analytics and yearsterday I got 200 users but when i go to Administrator->Property->Property Configurations->Property hits volume, I saw that i got 10,000 Property hits volume yearsterday.
Where is this traffic coming from?!
I want to know the meaning of "Property hits volume".
Here's the definition from Google:
Hit
An interaction that results in data being sent to Analytics. Common hit types include page tracking hits, event tracking hits, and ecommerce hits.
Each time the tracking code is triggered by a user’s behavior (for example, user loads a page on a website or a screen in a mobile app), Analytics records that activity. Each interaction is packaged into a hit and sent to Google’s servers. Examples of hit types include:
page tracking hits
event tracking hits
ecommerce tracking hits
social interaction hits
https://support.google.com/analytics/answer/6086082?hl=en
Essentially combine your total number of non-unique pageviews and total number of non-unique event counts over the last 30 days, it should match closely (unless you have ecommerce and social as well)
We're implementing Google Analytics in retail consumer kiosk software. There is no Javascript or SDKs or web pages involved - we craft a URL per Measurement Protocol and post it. We find that sometimes hits seem to just stop getting counted. If we watch the Real-Time section on the GA web site we can see that our hits continue to get posted, but over in the Behavior / Screens section the number of screen views for this device for today stops incrementing.
It's not just a "sometimes you have to wait 24 hours" thing, because Tuesday and Wednesday of last week still show zero today. If it's a rate limit, I can't see what - we're nowhere near 200k hits per day (per user, but from our point of view each kiosk is a user - we don't have any means to identify individual users); we shouldn't be hitting 500 hits per session because we send a session start (ec=Session&sc=Start) each time the user does something on the main menu and a session end (ec=Session&sc=End) each time the workflow finishes, which shouldn't ever be more than 20 screens - the default 'idle timeout' definition of a session wouldn't work well for us since a user can legitimately be working on a single screen for 10 minutes or more editing a picture whereas also a user can finish and leave and the next user in line start using the kiosk within just a few seconds; we shouldn't be sending events 'too fast' because it takes a couple seconds for a human to read the screen and reach out and touch a button.
What we observe is that some days it counts up to 340-360 and stops and some days it stays at 0 permanently. Any idea what's happening and how to fix it?
11/24: Today it went up to 352 and then stopped. This was about one hour of activity. All of this has been done with "Highest precision" selected.
12/1: Still same, counts for about one hour, to 347 screen views today, then stops incrementing.
When I look at Audience/Overview it says "Sessions 1". There should be dozens of sessions, split up by when we send (ec=Session&sc=Start). I think it must not be recognizing that as a session, it must be using the session timeout (idle), and staying all within a single session, and therefore limiting to 500 hits (we've got some events to go along with the screen views). And this is just wrong. Session should end when we say it does.
12/1: One correction, we actually do send sc=start and sc=end, with the values lower-case, as specified by Google.
My coworker did some experimenting and found that sc=start is ignored on t=event hits. It is recognized on t=pageview hits. I changed my reporting a bit to generate a fake pageview when a session starts, just so I could send the sc=start, and now the counts are accurate.
I was wondering if there was a limit to the number of events that can be created on one property of Google Analytics. I'm aware that there's the 500 hits per session limitation for hits(including events) to be tracked and that there's the limitation of 10 million per month, but is there an actual limitation in the number you can create? (ie. you can only create 20 goals)
No documented limit, other than what you've already indicated. The only other limitation is this:
[Universal Analytics] Each analytics.js tracker object starts with 20 hits that are replenished at a rate of 2 hit per second. Applies to All hits except for ecommerce (item or transaction).
and
[Classic GA] Each ga.js tracker object starts with 10 hits that are replenished at a rate of 1 hit per second. Applies only to event type hits.
(Friendly reminder to be posting only coding questions on SO. Your question would be highly welcomed in Webmasters though!)
Let's assume we have a goal to setup offline events tracking using measurement protocol, the only limitations from our side is that we need to post the events feed once daily and have a GA setup with correct standart reports from GA UI.
GA limits:
Session timeout limit is 4 hours;
Max time delta between when the hit being reported occurred and the time the hit was sent - the qt parameter, is also limited to 4 hours;
Test case:
"0". Session timeout limit is set to the max 4 hours.
User visits site at 9 a.m first session is created.
It takes him 10 minutes to get the info needed for making a call.
User makes a call and an phone order at 9:10 a.m. Unique, non personally identifiable code is passed with the call to CRM and saved in GA dimension and uid.
At 6 p.m call-report CRM generates the call-report and passes it to GA using measurement protocol event upload HTTP requests.
At 6 p.m call-report CRM generates the transaction-report and passes the phone order value & number to GA using measurement protocol transaction requests.
Questions:
1) Does the qt parameter in request described on the 5'th step of test case needs to be equal to:
1.1) Possible maximum value - 4 hours (because otherwise it may be not processed by this rule "Values greater than four hours may lead to hits not being processed.")
1.2) Actual value - 8 hours & 50 minutes.
2) Does 1.1 result in a first session timeout?
3) Does 1.1 result in a second session being created, which:
start-time is equal to 4 p.m & 50 minutes;
end time is equal to 4 p.m & 50 minutes;
user-agent by-default is equal to the value which has been used in measurement protocol HTTP request;
by-default is not closed, so if a second user visit is on 4 p.m this visit's hits will be sent to this session;
4) Does this second session affect the value of standart report's parameters, such as:
average session length;
average bounce rate & exit rate;
average pages per session;
5) Does the second session affect the flow reports or any other Google reports making in incorrect?
It should be equal to possible max value, or 0, if it's more then 4 hours since the date, and you should write the actual date as a custom field and process the data later.
Yes, a new session will be created, if the last session expired.
Somewhat.
Yes.
Flow reports are based on users not sessions.