We are planning to integrated firebase dynamic link to track content sharing and referrals in our app.
Firebase provides analytics data for how many times a user clicked on a url as mentioned here.
Since we are going to generate these links programmatically for referrals, is there any way to do a more granular tracking ?
Like if I want to see how many times all the links generated were clicked.
Or something like how many times a link with a particular parameter was clicked.
I tried looking through firebase docs but I don't think these usecases are covered there.
And if thats correct, what is a better way to track this ?
If you want to collect the analytics data for programmatically created dynamic links, you'll have to use REST API. Though, I also think that you can use BigQuery but I haven't tried this before. Collecting the data via Firebase Console is not yet available.
Related
On the Google Analytics account I use, we collect analytics for multiple websites. We can see users and sessions for each website, that's great.
So far, every feature of Analytics I've come across only allows me to view information from just one site at a time, but now I'd like to see multiple sites.
What we are looking for, is a way to simultaneously view the number of users and sessions of all the websites under our account. I have google searched the problem, I've messed with every single setting I can think of. No progress.
How can we do this?
You could use Data Studio for this. You can either have separate tables on one page for all of the sites you want to report, or to make it more seamless, make a data blend to get stats from multiple sites with multiple GA accounts into one table
It is impossible to create a single view for different trackers in GA.
But you can download data from different trackers to one scheduled report in Google Spreadsheets using Google Analytics Spreadsheet Add-on https://developers.google.com/analytics/solutions/google-analytics-spreadsheet-add-on
Or create one new tracker and implement on all your websites.
You need to set up cross-domain measurement.
Cross-domain measurement makes it possible for Analytics to see sessions on two related sites as a single session. This is sometimes called site linking.
https://support.google.com/analytics/answer/1034342?hl=en
I've been trying to share only Realtime Google Analytics data with all my team members. I know I can create a custom dashboard and share it with them, but it also gives them access to all the data.
Is there a way I can restrict/share ONLY the realtime stats?
Any third party visualization tool?
Please guide.
Yes: embeddedanalytics.com (disclosure: I work with them).
We have many different self-serve widgets available plus can customize to your specifications.
You could just send it to them with the "Email" functionality. The only downside here is that they can't hover and see details about data points and stuff - it's basically just a PDF picture of the dashboard.
Just create a dashboard. Press "Email" at the top. Here, you can schedule it to send regularly (ie: every Monday or once a month). GA will send them a PDF with the static dashboard.
If you ever want to change the email frequency/refresh it, just go to Admin > View > Scheduled Emails. They expire after a year, I think.
I'd like to track screenviews in my website, is this possible or are screenviews just meant to be used on apps? If so, how can I do it? Let me give you an overview of my situation.
I am restructuring a web site. Some of the pages that used to live under differents urls are now living under the same, with a hash id to denote the particular area of the page the user is in. So, for example, http://www.example.com/topics/topicA, http://www.example.com/problems/topicA and http://www.example.com/equations/topicA, are now in http://www.example.com/topics/topicA#content, http://www.example.com/topics/topicA#problems and http://www.example.com/topics/topicA#equations.
Now, I'd like to keep track of users visiting these areas. My initial idea was send a page view when the url is loaded and send a screenview each time the user clicks on the button to change the area of the page (i.e. #content, #problemas or #equations). For doing so, I used something like ga('send', 'screenview', {'screenName': 'content',});. As I couldn't see the screenviews in reports, I played a bit, setting the app name, the app id, the installer id etc before sending the screenview, for example:
ga('set', {
'appName': 'myAppName',
'appId': 'myAppId',
'appVersion': '1.0',
'appInstallerId': 'myInstallerId'
});
ga('send', 'screenview', {'screenName': 'content',});
So I can't see the screenviews in the real time reports (though I can see the page views). I can't see them in the regular reports either. I decided to create custom reports with dimensions Page and Screen name. There, I see sometimes screenviews are tracked (I think it happens when I set the appid etc before sending it, but not sure about this point).
Are screen views adecuate for tracking this behaviour or should I use just events, as I'm not on an app at all (just a responsive website)?
By the way, I am using Drupal 7 but that shouldn't make a difference.
Thanks in advance for your time and I hope I am making my question clear enhough.
Technically speaking its probably possible to send both pageviews and screenviews to the same Google Analytics web property.
The problem you will have is seeing the information. The way the Website is set up its either application or web account, Screenviews or pageviews. The reports are different, and you cant swap between them.
So you could send screenviews to a web site web property but you would never be able to analyse it on the website you would have to use the API to rip the data out. That and you would be analyzing apples and cars. Screenviews and pageviews are different they cant be analysed together.
Because of this web property's should be kept separate one for application (screenviews) one for web sites (pageviwes).
You should in my opinion do this using events.
+1 for an interesting question that made me think :)
Is possible, actually in BigQuery you can reach both data and see how this interact, both will have the same schema and will be stored in the same dataset(it is linked the raw data view). Even in the same sessions, you can send pageview and screen views having funny results.
But there is some important consideration when you implement this.
You need 2 different views, one Web View and One App View. Both views will let you access to different information and is not possible on the web interface of Google Analytics to access to both info at the same time. Not sure if with the API you can access to both info at the same time, I think that is totally possible
In the App View, you will able to see only information of screenview, events and ecommerce.Is also mandatory the App Name parameter on this hits.
In the Web View, you will able to see only the pageview reports,events and events.
The ecommerce info and events will be reachable from both views, there is no way to know if this comes from a web or an app ( technically). So is tricky to read this kind of reports in that case.
Sessions can experiment stranges behaviors. As example gosht sessions coming from the screen view with no page view, sending events.
Taking this into consideration, as Dalmto says, the best to you is use events or sent virtualpage view.
Mixing pageview and screen view is not recommended by Google but is totally possible.This kind of implementations is only useful when you have an embed web-app and a webpage on the same server and you want to have it all on the same dataset, if this case apply, is highly recommended to add a custom dimension to filter the app info on the web view and the web info on the app view and keep both worlds separated.
As the last point, your code is working, I can see the screen info on the desktop property. But not be able to see it in the web view.
I have read a lot of places that you can count using Google Analytics. I already use it on my site to track visitors.
How would I track how many people have clicked a spesific button and show the number of times it has been clicked on another page?
You want to implement Event Tracking. As far as displaying the results on another page, Google doesn't support showing charts/graphics outside of the Google Analytics site. But you could find 3rd party app developers on the Apps Gallery which do this. I for one have created EmbeddedAnalytics for precisely this purpose. And we also support dimension filtering so you could create a chart to show your specific action clicks.
You can learn about the Google Analytics API at https://developers.google.com/analytics/devguides/reporting/core/v3/reference and even try it out interactively using http://ga-dev-tools.appspot.com/explorer/
If you use Drupal you can easily install module Google Analytics Counter that will automatically fetch and display pageviews collected by Google Analytics. Other CMS certainly have similar plugins.
I am setting up a website for students of a school, which must include a schedule page which will show a calendar with events populated by feeds from various teachers' calendars. After trying out a variety of scripts and tools made for showing calendars, I finally hit upon a very shoddy, hacked-together way of doing it, and I want to know if theres any specific things wrong with my implementation.
My requirements from this calendar are posted in a previous question
This is how my implementation is gonna work:
The teachers make their schedules in their own calendar programs and make those feeds available in the iCal format. A common Google account for the school subcribes to all these calendars, and so gets read only access to ALL the teacher's schedules in school.
Google Calendar has a feature that lets you select some of your calendars, and then get the html code for an iframe to embed on your website, so that visitors to the site can see what events are coming up. When I experimented around with the options in the Google 'Configurator', I found that by simply including certain codes in the url called for the iframe contents, you could change which calendars were visible. These codes, or calendar ids, are clearly displayed in the settings for each calendar. Thus, my final solution is thus:
For every student, there is a record stating which courses he has taken, and hence which calendars he should be shown. With some SQL magic, I can retrieve the calendar ids from a pre-prepared database of all the calendar ids, and then generate the correct url for the iframe using php, and display it.
I hope that wasn't too convoluted to understand. Now can anyone tell me if there are any inherent security flaws or bad programming practices etc in this. Something about the whole idea of dynamically generating urls, using iframes, using a common google account etc just screams 'Mistake!'. Can someone tell me if this is an ok way to go about it, or is there some problem with it?
Actually, I think your solution has the potential to be very secure. Using a single google account to collect the read-only calendars into one place is just an organizational shortcut. As long as the calendars themselves are read-only, your single account contains nothing that isn't already public.
Generating URLs is perfectly reasonable, as long as you are combining strings that you've sanitized beforehand. Since your database can only get calendar IDs from your aggregation google account, you know that potentially malicious users can't cause arbitrary characters to end up in your synthesized URLs.
The biggest problem you'll probably run into is that the google embedded calendar iframe only allows up to ten calendar feeds.
The most likely security vulnerability you'll face is the security of all of the teachers' google calendars.
By default, google calendars accept "invitations" and post them as events. You might find that anyone can "invite" a teacher's calendar to prank events and those prank events will then show up on student calendars.