Not getting all events with session info - firebase

Does anybody know how to be sure that all the events get the 'ga_session_number' and 'ga_session_id' parameters with firebase?
Right now I'm getting only a 3% of the total events with those parameters and it should be on every event. Last sdk version is loaded on the app.
Thanks in advance for the help
The query I'm making is the following:
SELECT
user_pseudo_id, event.value.int_value session,
MIN(event_previous_timestamp), MAX(event_previous_timestamp),
MAX(event_timestamp) - MIN(event_timestamp),
COUNT(*)
FROM
`table`,
UNNEST(event_params) AS event
WHERE
event.key = 'ga_session_number'
GROUP BY
1, 2
ORDER BY
2
The total event rows on the table are more than 3 million, and getting only 100k with the query.
UPDATE:
Firebase support team has updated the analitycs SDK solving this issue.

Related

Looker Alert Issue

I am new to Looker and trying to create my first alert. The requirement is simple when a status field (calculated field) is greater than 1 looker should send an email. Though a couple of records value is more than 1 still not sending an alert. I didn’t schedule a delivery, just created an alert.
FYI: Row count exceeds 5000
I wanted the Looker to check every 15 min if the calculated field is greater than 1.
attached is the Snap of the alert
Can anyone please help me with what needs to be done?
TIA
Your setup looks correct. Check your permission and do a test run before scheduling the email.

How to get Start Time of currently running SSRS Subscriptions

Can anyone help me in getting the currently running SSRS Subscription report Start Time.
I queried dbo.Notifications table, but the columns NotificationEntered , ProcessStart and ProcessAfter is quite confusing.
Please help.
Thank you
Try this below query to get running subscription details
select c.ItemID as ReportId,
c.Name,
c.Path,
s.SubscriptionID,
s.LastStatus,
s.LastRunTime,
s.DeliveryExtension
from ReportServer.dbo.Subscriptions s
inner join ReportServer.dbo.Catalog c
on s.Report_OID=c.ItemID
where s.LastStatus like '%Pending%'
LastRunTime column is subscription start time.
LastStatus column is status description of subscription.

Google Analytics Checkout Behaviour in Bigquery

does anyone know how to extract checkout behaviour from the Google Analytics export in BigQuery?
E.g. I'd like to calculate abandonment at each checkout stage. I've raked through the schema -
https://support.google.com/analytics/answer/3437719?hl=en&ref_topic=3416089
but it doesn't seem to have the equivalent data from GA i.e. the details within shopping stages such as
"CHECKOUT_1_ABANDONMENT"
.
I can get each checkout step using hits_eCommerceAction_step but can't calculate exits here, they're always just blank when I do a count of hits.isExit
hits.isExit refers to the last page in the session. It will not help you here, unless you want to know if any step was also the session exit.
Regarding e-commerce steps, you could define the highest step number per session as being the exit step or the last one seen - but I guess the highest makes more sense?!
Oh, and you have to translate what each step number means by yourself. It literally just tracks the number, not the meaning.
You can do it like that:
SELECT
(SELECT MAX(ecommerceaction.step) FROM t.hits) AS maxStep,
SUM(totals.visits) AS sessions
FROM `project.dataset.ga_sessions_2018*` t
GROUP BY 1
ORDER BY 1
If you want the "last step in a session"-logic, you would do it like that:
SELECT
(SELECT ecommerceaction.step FROM t.hits WHERE ecommerceaction.step is not null ORDER BY hitnumber DESC LIMIT 1) AS lastStep,
SUM(totals.visits) AS sessions
FROM `project.dataset.ga_sessions_2018*` t
GROUP BY 1
ORDER BY 1
I didn't check if these are translations to Google Analytics numbers but should be helpful, I hope, getting in this direction.

Getting percentage of Inactive users via Firebase analytics

I'm working on Firebase analytics for my app so the following question is in the same context - Does firebase have a concept of "retained user, who did not open the app but had app on device" ? If so, does it appear on the Firebase Dashboard?
Also how can I get a count of freshly installed users (new users) for each day.
All help is appreciated.
No, there is no way to track this on Firebase Analytics. When your users use your app, Firebase SDK sends events to FA and they aggregate this data in order to generate reports.
This way they can extract active users, but there is no way to determine users who have the app installed but they don't use it.
You can determine new users based on "first_open" event. This event shows you how many users open the app for the first time
It is possible to compute N-day inactive users in BigQuery after linking-up Firebase with BQ (Source):
-- N-Day Inactive Users = users in the last M days who have not logged a user_engagement event in the last N days where M > N.
SELECT
COUNT(DISTINCT M_days.user_id)
FROM (
SELECT
user_id
FROM
/* PLEASE REPLACE WITH YOUR TABLE NAME */
`YOUR_TABLE.events_*`
WHERE
event_name = 'user_engagement'
/* Has engaged in last M = 7 days */
AND event_timestamp > UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY))
/* PLEASE REPLACE WITH YOUR DESIRED DATE RANGE */
AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131') AS M_days
/* EXCEPT ALL is not yet implemented in BigQuery. Use LEFT JOIN in the interim.*/
LEFT JOIN (
SELECT
user_id
FROM
/* PLEASE REPLACE WITH YOUR TABLE NAME */
`YOUR_TABLE.events_*`
WHERE
event_name = 'user_engagement'
/* Has engaged in last N = 2 days */
AND event_timestamp > UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 2 DAY))
/* PLEASE REPLACE WITH YOUR DESIRED DATE RANGE */
AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131') AS N_days
ON
M_days.user_id = N_days.user_id
WHERE
N_days.user_id IS NULL

Google analytics syntax event label and or results don't match

I am new to querying GA with event label filters and am trying to work out my mistake with the following syntax. I have 3 different event label filters on 3 separate reports which are identical, except for the variation in this query:
Report filter 1: ga:eventLabel==Login - Create Account Step 2
Report filter 2: ga:eventLabel==Login - Create Account Step 2;ga:eventLabel!=Where to Buy Step 2 Submit Query
Report filter 3: ga:eventLabel==Login - Create Account Step 2;ga:eventLabel==Where to Buy Step 2 Submit Query
Now, I would expect that the count of sessions and users I get from report filter #1 would equal the sum of results from report filters #2 and #3. But actually, report filter #2: ga:eventLabel==Login - Create Account Step 2;ga:eventLabel!=Where to Buy Step 2 Submit Query returns counts of users and sessions orders of magnitude larger than the other 2 queries. (like 70K vs 120ish). Feels like there's a classic beginner conceptual error I'm making here, but I'm not sure how to google the the right question. Any ideas what I'm doing wrong?
Thanks for any help.
What you are trying to query with session/user metrics won't really work the reason being is that events are hits and so filtering that way filters on the hits. The way to get around that is to create segments of users that have triggered the events that you are interested in.
Now if you were to report on events/unique events using those filters based on the logic there I would expect #1 and #2 to return the same results and #3 to contain no values.

Resources