Update
This was caused by a bug that Google have fixed in "Release Version 4.5 - Google Play Services 7.3 (May 1, 2015)". When using Google Play Services 7.3 or later it should be possible to call setCampaignParametersFromUrl() with a full URL as expected.
Original question
I'm using Google Analytics V4 in my Android app. On startup I send a screen view hit to Google Analytics and I set the campaign parameters on my HitBuilders.ScreenViewBuilder by calling setCampaignParamsFromUrl() like this:
String url = "http://example.com/?referrer=utm_source%3Down-build%26utm_campaign%3Dinternal-testing";
builder.setCampaignParamsFromUrl(url);
It seems like this is working because I can see that the campaign is included in the logs from Google Analytics:
V/GAV4﹕ Thread[GAThread,5,main]: Sending hit to service ..., cn=internal-testing...
However when I'm looking at my data at the Google Analytics web interface the next day this campaign does not show up. I only have users with campaign "(not set)".
I've uninstalled my app, cleared the advertising id and re-installed the app and I see this installation as a new user in the Google Analytics web interface so I know the data is sent there. But the campaign I use does not show up.
Am I using setCampaignParamsFromUrl() wrongly or have I missed something else? Do I have to configure the campaigns I have somewhere or should Google Analytics pick up values it hasn't seen before as new campaigns automatically?
(As for why I'm not listening to the install referrer event see: What is the scope of the utm_campaign dimension in Google Analytics v4 on Android?)