What is the difference of internalWebPropertyId, defaultProfileId and profileId in a Google Analytics account? - google-analytics-api

I am playing with Google Analytics API and found that it's really complicated.
A GA user can have more than one accounts.
Each accounts can have more than one Web Properties
Each Property can have "internalWebPropertyId", "defaultProfileId" and ordinary profile id.
I might have already made some mistakes by listing them out.
Is there any tutorial/manual that I can read to understand the whole structure better?
Thanks!

A user can have access to more then one Google Analytics accounts -> Each account can have one or more Web Propertys -> each Web property can have one or more Views (profiles)
Don't rely to much on DefaultProfileid its not set for every webProperty and I haven't been able to find any documentation as to how that's set.
You can read a little about it here: Accounts and Views (Profiles) as well as What Is The Management API - Overview
I just found this in answer:
https://www.googleapis.com/analytics/v3/management/accounts/~all/webproperties/~all/profiles?oauth_token={Token}
There should be away of working that to make one request for accounts, one to get all the Web Properties , then one to get all the Profiles.

Related

Google Consumer Surveys Publishers Reporting Dashboard?

I'm actually a bit embarrassed to be asking this question since it seems like such a simple thing but here goes:
I've recently signed up with Google Consumer Surveys and want to take advantage of their survey monetizing and become a survey publisher. We had an existing adsense account and applied to become a survey publisher. Eventually we ended up at their publisher settings page which provided us snippets of code to insert into our site. We did so and initially survey questions appeared and it seemed to work, however after it asked us a few generic test questions it has refused to serve up another one. On top of that we continue to see a reference to a 'reporting dashboard' as seen here. However it is not clear how one goes about accessing this dashboard.
So a couple questions:
1) do we need to be 'accepted' by GCS before we will see a dashboard, and if so how do you access the dashboard?
2) is there a way to ensure that testing survey questions will continue to be provided even though we have not been officially approved?
Thanks.
So here are things that might be of help.
1) You don't need to be accepted/approved to have access, just be sure to be logged in with the email account you used in signing up. I believe there is an email sent to you after signing up with GCS that contains the link to your reporting dashboard. Once you access the reporting dashboard you'll see that it says "under evaluation". Once your site is approved you will start to serve paid surveys and see the reports in the dashboard.
2) The questions/survey will continue to prompt once you have implemented the GCS code up until you are approved.
You may also want to contact the support team of GCS publishers through this link. Just click on the contact us button on the description below "add surveys to your site" button.
Hope this helps!

New API keys in Mandrill by default have full access to your account - can you customize?

In Mandrill, if you create a new API key and do not limit its API calls, whoever you give that key to can use it to log into the web interface with full access - billing information, account information, the works.
After playing around, it looks like you can disable the web interface login functionality by ticking "Only Allow This Key To Use Certain API Calls" and then selecting at least one API call. Doesn't matter which one.
So I can give full access to the account, or completely disable their ability to log in. Is there any way to customize this further? I would like to be able to limit users to the outbound/inbound UI, or at least prevent them from having the ability to charge many thousands of dollars to the attached credit card. For clarification, my use case is to distribute API keys to contractors or vendors so that all email gets sent through a single account.
I have found very little official Mandrill documentation on this. The only thing that seemed relevant is that if you have a Mailchimp account, you can instead send users there and use the "View Mandrill Reports" functionality. I don't have Mailchimp (nor do I need it), so this seems like an unnecessary hacky workaround.
Different levels of access, other than limiting API calls for API keys isn't currently possible as described in the Mandrill KB here. If someone has access to the web interface, they have access to the account as a whole. This may, of course, change in the future, and would be documented on the blog and in the KB.
I believe you could also restrict access to the web interface by setting up two-factor authentication?

Automate distribution of redemption codes for Custom B2B app

I have built a Custom B2B app for one of our clients. My question is how to automate the distribution of the redemption codes.
I have already looked at some of the MDM providers. Their solutions are too expensive and all we really need is a way to distribute the app from a webserver, not manage a bunch of mobile devices.
As you probably already know, when a client buys a Custom B2B app through the Apple VPP program, they get a spreadsheet with valid redemption codes for the number of licenses they have built. This spreadsheet has 2 columns: 1) redemption code 2) URL to redeem the code
I want to provide my client with a URL where they can send their users to download the app. They just don't have the expertise/infrastructure to distribute the app themselves. And emailing clients is not going to work.
I'm not a web guy, but it seems to me that we could write a webpage that would look at the spreadsheet for the next available activation code and then redirect the user to the associated URL. I'm not concerned with the number of licenses they distribute since I have another way of auditing the real number of users (Flurry). So I want this to be as painless as possible.
In fact, I have multiple clients and want to provide them each with their own URL for their clients. It seems like this shouldn't be too difficult to code.
The problem is, I'm not the guy to write that code. Any ideas on how best to do this?
Assuming that you don't want to show the user a website you should be able to do this with an online service like parse.com and the features it offers.
From a user POV you would supply them with a link which directed them to parse.com with a path and parameters indicating the action to be taken (get app) and what account is associated. This would redirect the users browser to the appropriate destination.
The main issue (and this applies to any solution) is knowing if the user actually followed through and used the code. i.e. should it be removed from the DB so it isn't offered to another user in future. Then you would update the DB each time you get a new spreadsheet.
Anyway, this could be achieved with a little javascript in parse.com, specifically, by using cloud code which can interrogate and modify the DB and then redirect the user.
Obviously if you need user authentication of some kind or other restrictions then you would need to start adding some web interface on top of this in order to collect the details.

Can we move Google Analytics data to other account?

Started a webpage that now contains a lot of analytic data. Now that I have the client GA Tracking ID I would like to move the data I already have to that account.
Is this possible?
I get the Google Analytics API, I can always fetch all the data I want, but my problem is, upon I have the data how can I send / push this data to other account
in other words, How can I transfer data?
The domain is the same, only the account Id in use was a different one (my own, instead of the client's)
It is not possible:
You cannot currently transfer profiles or account data from one account to another account.
Google Analytics does not provide any flexibility with importing, exporting, or modifying any past data. Any data you have in one account cannot be moved to another.
With GA, the only way to get data in to an account is directly via __utm.gif requests, usually through their JavaScript snippet, but that doesn't allow for any way to import past data, since the date is fixed according to when the data is sent in.
Further, the Google Analytics API is read-only, and doesn't provide any way to import or move data.
(This answer is slightly less true for Universal Analytics
http://piwik.org/ is a good alternative, open source analytics system, not unlike Google Analytics, but without some of the constraints like this.
I think now it's possible to move data from one account to another.
Check out this article:
https://support.google.com/analytics/answer/6370521?hl=en
If you need to reorganize your properties in Analytics, you can move them (and their views) from one account to another.
Moving properties lets you keep your Analytics implementation current with your business. You might be reorganizing after a merger, after an internal restructuring, after hiring a new agency, or you might be developing a new Roll-Up strategy.
This was not possible in 2011 when the question was originally asked. Google added this capability to GA in 2016 (source). In addition to Google's documentation which engray provided, there are several blog posts which discuss how.
How to transfer a Google Analytics property from one Google Account to another
How to Move a Property to Another Account in Google Analytics
How to move a property:
Sign in to Google Analytics & navigate to Admin section.
In the ACCOUNT column choose the account that contains the property you want to move.
In the PROPERTY column, select the property you want to move.
Click Property Settings, then click Move property.
Select the destination account.
Choose your permissions settings.
Click Move.
Confirm data processing, then click Save.
Might be possible to do this as i was curious and found a few forum posts mentioning it:
Log into GA.
Goto the Account List.
Find your web property, you can't click the 'property' itself but a profile under it...
Then click on Admin on top-right side.
Go 'Up' a Level.
For example the breadcrumb says:
'Account list' › 'FOO (www.foo.com)' › 'FOO (www.foo.com) - (Default Profile)'
and now the breadcrumb should say when you click 2nd breadcrumb link:
'Account list' › 'FOO (www.foo.com)'
Now you have an option to add other users to this whole web property by going to the Users tab.
Add an Administrator user to this specific property. You can setup this user for them on gmail that they can change the password later after you set it up (or use their Google Account email they provide and maybe walk through with them to make sure they do it correctly).
Then login as that user, and delete the old user. Then that should 'transfer' to a new account.
What I do in this situation - export all data from Google account and import it into Tableau or QlickView. And use desktop analysis. In any case these data will be actual no more than 2 years.

Managing multiple apps with one Google Analytics account?

I've just setup a Google Analytics for Mobile Apps account and I've implemented the SDK in my iPhone app with no trouble at all. However, I haven't figured out how to manage multiple apps with one account. It seems fairly easy to setup multiple subdomains when dealing with websites and I've noticed the javascript code has a setSubdomain function that doesn't seem to be present in the iPhone SDK.
Is there any way I can have google analytics differentiate my different apps for the same account?
Set up more profiles in GA - one profile per app. You should end up with UA codes like UA-XXXXX-1 and UA-XXXXX-2 - the XXXXX is the account identifier, and the suffix is the 'web property identifier' - in this case each app will have it's own property identifier. They don't match up 1-to-1 to GA profiles, as you can have more than one profile for a web-property-identifier (so you can have profiles with different filters on the same data), but in your case I'd suggest a separate web property IDs for each application.
So the docs say:
To use the SDK, you must create a free
account at www.google.com/analytics,
and create a new website profile in
that account using a fake but
descriptive website URL (e.g.
http://mymobileapp.mywebsite.com).
Once you create the profile, write
down or keep a copy of the web
property ID that is generated for the
newly-created profile. A Web property
ID is also known as the UA number of
your tracking code and looks like
UA-xxxxx-yy, where the x's and y's
indicate the unique numbers for your
profile. You must indicate the web
property ID you'd like to use when
instantiating the tracking object. See
Web Property for more information.
Appears to me you simply setup that "fake website" such as http://myapp1.yourwebsite.com and then you'll get a new UA- number which you plug into the code within myapp1.
App2 will have a different UA- number you use.