Hello @pawan! Thanks for your post and happy to help.
Are you using event totals or uniques in your Amplitude analysis? Also how do you send the project data to Amplitude? Are you using an API or an SDK? Do you have any block or drop filters in use? Has the event type ever been blocked or deleted?
If you have an example chart you can link for us to review, that would be helpful!
There can be a variety of reasons why counts in Amplitude might not match counts in your database and some of the most common reasons include,
- If you are querying uniques, does the database determine uniques the same way Amplitude does? Here is how we track unique users: https://help.amplitude.com/hc/en-us/articles/115003135607
- If using and block/drop filter the event may be dropped from your queries or could have been blocked from ingestion.
- Insert_ids. Events ingested with the same insert_id values will be deduplicated/dropped.
- Are the users or events being throttled? Check the ingestion debugger in your settings to see if any throttling errors have been returned (i.e. 429 errors usually indicate throttling).
- You can leverage the instrumentation explorer to QA your web data and the Event Explorer to QA mobile and data sent using our APIs.
- As a last resort, if you have a payload for an event that you sent to Amplitude successfully (i.e. you received a 200 response from the server), but is not in Amplitude, we can open a ticket to check our raw logs for the event. *Note, the payload has to be for an event that occurred in the last two weeks as the logs are only held for two weeks.
Regarding your note on the timezones, from what I understand the event timestamp used to bucket the event in a particular time is determined using the event_time. If you change the timezone at the chart level there could be events that fall outside of the analysis date range (i.e. the event could have occurred on a different date in UTC +5:30 then in default UTC depending on the hours discrepancy).
I hope this helps! Let us know if you have questions.
Very good list of possible reasons - I’ll also use this with clients going forward.
thanks, but i am doing really simple thing with JS integration i am sending form_submitted event
in form submit success callback…….
amplitude.getInstance().logEvent(‘demo_form_submitted’);
I am not using any filters
i am just selecting form_submitted event in segmentation chart, and this event is not blocked or deleted