I am a Google Analytics consultant and have around 30 properties I have access to on my Google Analytics. Each of the properties owners gave me Read & Analyze rights.
Now I'd like my coworker to view these properties and don't want to give him my email and password (obviously). How can I give him access with his own email?
I would also like him to be able to access the properties through the Google Analytics Query explorer. Maybe there is a way I can add him to the Cloud Console?
You can't give someone else access to a Google Analytics account for which you only have Read and Analyze rights:
Manage Users: Can manage account users (add/delete users, assign permissions). Does not include Edit or Collaborate.
Edit: Can perform administrative and report-related functions (e.g., add/edit/delete accounts, properties, views, filters, goals, etc., but not manage users), and see report data. Includes Collaborate.
Collaborate: Can create personal assets, and share them. Can collaborate on shared assets, for example, edit a dashboard or annotation. Includes Read & Analyze.
Read & Analyze: Can see report and configuration data; can manipulate data within reports (e.g., filter a table, add a secondary dimension, create a segment); can create personal assets, and share them, and see shared assets. Cannot collaborate on shared assets.
https://support.google.com/analytics/answer/2884495?hl=en&ref_topic=1009690
Only Manager Users access can do that.
You can share assets with other who have been granted access to the analytics account but not with someone who has not been granted any access.
You can't grant a co-worker access to the Query Explorer to an account that they don't have access to and you can't grant access through the Cloud Console either. You couldn't do that even with the highest level.
Access can only be granted from within Google Analytics by someone with Manage User rights.
Related
I have created my google service account using this tutorial https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-py
Now I want to ask for read and analyze permission from a website in order to do some data analytics. How do I do that?
the service account (with an email like quickstart#PROJECT-ID.iam.gserviceaccount.com) must be granted (at least) read permissions in the corresponding Google Analytics settings. Consider checking Analytics permissions docs
How to change owner of site on Google Analyics?
My site was maintained before by some company (Company A) that created site, targets in Google Analytics. But now my site maintain another company (Company B) that havent access to Google Analytics.
Can I transfer site, data, targets from old account GA to new account (Company B)? I havent access to old account (bcs owner is another company (Company A), I dont collaborate with them).
You will need to gain access to the old account and follow the account transfer process: https://support.google.com/google-ads/answer/44500?hl=en
If you don't have access or can't gain access, the best you can do is create a new account with this property and add the new code to your website, thus losing your past data.
The process to move a Google Analytics property is a bit clunky, but pretty slick once you've had to do it a few times.
A user will need Admin access to the Google Analytics ACCOUNT where the Property is currently, AND Admin access to another Google Analytics Account (create a new one if you need to) where you want to move the Analytics Property to.
Once you have Admin access to both, head in to the Property Settings and click, "move account".
On completion, you can update the access rights to your Google Account, removing access as necessary.
Your Analytics Property will be complete with all of the historic data, configuration and user access rights.
There's a video showing the process here too: https://youtu.be/m_F3qmSTIl0
I need to extract Google Analytics data through it's API. However I do not want to generate any account and key manually (the reason is I do not want to let this technical this to be performed by any non-techie person) and want to dump that data for analysis purpose.
In order to use any of Googles APIs they need to know who you are. You as a developer are identified by the project you create on Google Developer console. Once the project is created you can create a number of different types of credentials including Service account credentials and Oauth2 Credentials.
Answer: No there is no way to programmaticlly create service account credentials. Nor is it possible to use the a Google api without first creating a project on Google developer console.
Note: Google Cloud Resource Manager does exist but is very limited in what it allows you to do.
If someone else is going to be running your application to access their Google analytics Data you should idealy be using Oauth2 in your application and not a service account.
Service accounts are designed as way for the developer to grant others access to data owned by the developer in question. They are not really intended for novice users to be creating their own projects on google developer console and generating credentials.
You are basically asking if you can obtain the credentials necessary to query the API via the API. This does not work.
I am also not sure how this would help you. Before you can do any API operations to a Google Analytics account you need to have an authorized user (e.g. a service account) added to your view or property. If you are in a situation where you can add a user programmatically to an account you might as well just read the data you need.
I have account that has 100 accounts, I've added a Google Service account (I can't use anything else because of 3rd party app limitation) and now I need to allow it to access all of these accounts. Seems there's no way at Google Analytics UI to do that and I will have to manually edit 100 accounts.
Is there any better way to do it? Maybe something like AdWords Editor just for Analytics?
If you have a Google User Account that has access to all the Google Analytics Accounts (which is how I interpret your first sentence) you can bulk edit them via the Google Analytics Management API, and that includes adding users that might or might not be service accounts. A reasonable easy way would be to use a Google Spreadsheet and some Google Apps Script. The script will run as the user that is currently logged in to Google and will be able to access all Analytics account that user has access to.
However you need to have necessary permissions to edit the GA accounts, so if you do not already have an authorized account you will (unsurprisingly) not be able to add one
I would like to enable (some) of my users to view my website's analytics data.
Our website has a bunch of groups where users can add content. I would like to enable certain users (group admins), to view usage statistics for that specific group. Ofcourse the data should only be accessable to those users with the VIEW_ANALYTICS right, not to any others.
Is there any way to do this in Google Analytics, or is there some other platform I could use to easily achieve this goal (we use AWS for our hosting)?
Regards,
klmdb
The Google Embed API allows you to display analytics data in your own pages. Pages that are only accessible to the members of your VIEW_ANALYTICS group.
You can create a service account and give it the appropriate access in the analytics user management for the property.
You also authorize the service account to use the embed API in the developers API console. (I don't have enough points to include more than two links in an answer.) In the API console you can generate a private key (p12 or json format) which you then use on your server to authenticate the request for analytics data.
You don't say which technologies you are using, but they show Java and Python examples of how to set up the authentication by the Service Account. I've also seen some node.js and php libraries.
This way you don't have to manage who has access through the google anayltics admin system, you just need to control who has access to your "dashboard" page.
I have done this all with client-side javascript and it works. Of course the client-side nature means that anybody who knows how to use browser debug tools can get our private-key, but in our particular case I'm not worried about it. On the other had it seem like you need to keep some security around this so I wouldn't recommend the client-side solution.