How to test android referral tracking? How to test android referral tracking? android android

How to test android referral tracking?


The easiest way is using adb. You don't have to write any code.

Just run in a terminal:

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n <your.package>/.<path.up.until.your.BroadcastReceiver> --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name"

Here's my exact line:

am broadcast -a com.android.vending.INSTALL_REFERRER -n net.lp.collectionista/.util.broadcast_receivers.FacadeBroadcastReceiver --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name"

But your BroadcastReceiver may need to be the AnalyticsReceiver, i.e.

For Google Analytics v2:

com.your.package/com.google.analytics.tracking.android.CampaignTrackingReceiver

For Google Analytics v3:

com.your.package/com.google.android.apps.analytics.AnalyticsReceiver

For Google Analytics v4:

com.your.package/com.google.android.gms.analytics.CampaignTrackingReceiver

As Luigi said, you can also leave out the "-n" componentname part, but then every app on your device will receive the referral. This can be a good extra test to see if your BroadcastReceiver can be found properly.

The output I see (especially the last line is important):

05-13 17:28:08.335: D/Collectionista FacadeBroadcastReceiver(8525): Receiver called05-13 17:28:08.335: V/Collectionista FacadeBroadcastReceiver(8525): Receiver called with action: com.android.vending.INSTALL_REFERRER05-13 17:28:08.365: D/GoogleAnalyticsTracker(8525): Stored referrer:utmcsr=test_source|utmccn=test_name|utmcmd=test_medium|utmctr=test_term|utmcct=test_content


No! you have a few way to test itSend a broadcast manually with an intent of this form

    Intent i = new Intent("com.android.vending.INSTALL_REFERRER");    //Set Package name    i.setPackage("com.package.yourapp");    //referrer is a composition of the parameter of the campaing    i.putExtra("referrer", referrer);    sendBroadcast(i);


None of the above commands works for me. After trying a lot of commands combinations here is the one that works for me:

./adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n <your package>/<your package>.<your BroadcastReceiver> --es "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name"

Note: the referrer should be url encoded.