Google Analytics - confusion over v2, v3, opening new accounts

BTW anyone using Google Analytics with AppBrain needs to be careful about the BroadcastReceiver for INTENT - as there cannot be two such in your AndroidManifest.xml.

This can lead to major issues that are not addressed by Google - but have been by AppBrain.


EDIT:

Google DOES address this but suggests making your own custom BroadcastReceiver class:
https://developers.google.com/analytics/devguides/collection/android/devguide#google-play-builder
Note: Only one BroadcastReceiver class can be specified per application. Should you need to incorporate two or more BroadcastReceivers from different SDKs, you will need to create your own BroadcastReceiver class that will receive all broadcasts and call the appropriate BroadcastReceivers for each type of Broadcast.

This means every developer is winding up making their own BroadcastReceiver (and then initially not being sure if it will even work or not - i.e. have to thorougly test it etc.).

Compare this to the solution provided by AppBrain is much simpler/faster to implement - you provide meta tags with the other BroadcastReceivers that should be informed.

Or in the general case if you have more than one Broadcast Receiver maybe best to use AppBrain and pass all the others to that:


<!--  start of AppBrain AppLift SDK -->
<activity
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 
    android:name="com.appbrain.AppBrainActivity"
    />
<receiver
    android:name="com.appbrain.ReferrerReceiver"
    android:exported="true"
    >
    <intent-filter>
		<action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>


    <!-- start of Google Analytics - campaign measurement -->
    <!-- http://swisscodemonkeys.github.io/appbrain-sdk/javadoc/reference/com/appbrain/ReferrerReceiver.html -->
    <!-- http://stevepassiveincome.blogspot.com/2013_02_01_archive.html -->
    <meta-data
	android:name="forward.GoogleAnalytics"
	android:value="com.google.analytics.tracking.android.CampaignTrackingReceiver"
	/>
     <!-- end of Google Analytics - campaign measurement -->


</receiver>
<service android:name="com.appbrain.AppBrainService" />
<!--  end of AppBrain AppLift SDK -->



<!-- start of Google Analytics - campaign measurement -->
<!-- https://developers.google.com/analytics/devguides/collection/android/v2/campaigns -->
<!-- Used for install referral measurement-->

<!-- since there can only be ONE BroadcastReceiver will not do this here -->
<!--	but will instead do this in the AppBrain section above -->
<!-- <receiver android:name="com.google.analytics.tracking.android.CampaignTrackingReceiver" android:exported="true"> -->
<!--	<intent-filter> -->
<!--		<action android:name="com.android.vending.INSTALL_REFERRER" /> -->
<!--	</intent-filter> -->
<!-- </receiver> -->

<service android:name="com.google.analytics.tracking.android.CampaignTrackingService"/>
<!-- end of Google Analytics - campaign measurement -->

Yes, great, that would be totally sufficient. I did’t think of it by myself.

I tried to use a referrer url when pointing users to Google Play to download an app:

marketString = market://details?id=com.packagename&referrer=utm_source%3Dabcd%26utm_medium%3Defgh%26utm_campaign%3Dijkl

// to launch Google Play app (showing the app page)
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(marketString)));

where:
packagename: com.packagename
utm_source: abcd
utm_medium: efgh
utm_campaign: ijkl

However, I am unable to have the other app see the referrers in it’s Google Analytics Developer Console.

I’m looking in:
Acquisitions - App Marketplace
Acquisitions - Google Play - Sources

And I am unable to see any listing which shows “abcd” “efgh” or “ijkl” above.

Maybe I am misunderstanding where this info is to be found, OR maybe the “referrer” I am using is using invalid characters - perhaps I need to escape the & character or something … ?

Ok, I already have app on Google Play that has Google Analytics turned on.

From within one app, I try to point user to (i.e. “try our other app”) that app using a referrer like:

marketString = market://details?id=com.packagename&referrer=utm_source%3Dabcd%26utm_medium%3Defgh%26utm_campaign%3Dijkl

and I don’t see anything in the Google Analytics Developer Console:
Acquisitions - App Marketplace
or
Acquisitions - Google Play - Sources

I tried with & instead of “&” and that also did not give any such indicator.

Acquisitions - App Marketplace shows:

  • com.android.vending
  • com.google.android.feedback
  • (not set)

The (not set) could be installs coming from House Ads.

After this I tried running pointing users to another app (i.e. download this also) using this type of referrer:
market://details?id=com.packagename&referrer=utm_source%3Dabcd%26utm_medium%3Defgh%26utm_campaign%3Dijkl

And that is not showing up in Google Analytics (very clearly it can’t be that INSTALL referrer is not working - because Google Analytics is picking up “vending” and “feedback” sources of installs).

In your post, there is one extra space character in the middle of the URL, but this is probably wrongly shown in the post.

Entering your values into Google Play URL Builder gives URL such as:
https://play.google.com/store/apps/details?id=com.packagename&referrer=utm_source%3Dabcd%26utm_medium%3Defgh%26utm_campaign%3Dijkl

You are using market://, while URL Builder gives https://play.google.com

Testing campaign measurement, before app is submitted to Google Play: https://developers.google.com/analytics/solutions/testing-play-campaigns

I didn’t succeed to set up campaign measurement by myself so far. Once I do, I assume I’ll be able to get campaign related data in Acquisitions -> Google Play -> Sources, where i see dimensions like Campaign, Source, Medium, Keyword.

There is no space in the url I’m using in the code.

I’ll do some checking with the testing campaign stuff …

Yes, the HTTPS vs. MARKET difference is something which might screw this up - however I don’t want to use HTTPS as that opens up a chooser dialog where user has choice of browser/GooglePlay, while MARKET would take directly to Google Play.

If it doesn’t work with market, I’ll just forget about this stuff - just that I didn’t want to leave a loose end before I proceed to forget about this whole kludgy thing implemented by Google …