Set campaign details (source, medium, campaign) manually from client of server

1,066 views
Skip to first unread message

Александр Виноградов

unread,
Feb 5, 2018, 10:42:46 AM2/5/18
to Firebase Google Group
We've recently soft-launched our mobile MMO real-time strategy game but later we figured out that 95% of our paid traffic has no source attribution in Firebase Console (marked as direct). We use Appsflyer as our primary marketing dashboard but we want to move to Firebase partly because of Prediction, Remote Config, BigQuery and some other promising features. After some research we found several reasons why we do not get attribution on our end:

1. Most of the ads platforms (ChartBoost, Unity Ads, Facebook etc ) use direct system API (instead of market://) to open app Playstore/Appstore market page and they DO NOT add referrer utm_ tags. 
We had a VERY long and conversation but none of them have any plans to fix this.
2. The huge amount of Chinese smartphones has "patched" Android onboard (google services, play store etc) and all this referral linking simply does not work there. We've tested it in our lab and we were amazed.

After the user opens a game we initialize Appsflyer SDK and we get all needed attribution from their service.

The question:
How to set attribution manually sing firebase SDK from the client or from our server via S2S request?

What we plan to do Strategy#1:
1. Send a custom event with name "custom_first_open" and corresponding params (ParameterSource,ParameterMedium,ParameterCampaign)
2. Mark this event as conversion in Firebase dashboard (if it will appear there - we are not sure)
3. Use Attribution section a Firebase Console for this event where we expect to see http://service.crazypanda.ru/v/clip2net/i/P/bvemOunzl1.png

What we plan to do Strategy#2:
1. Send your "EventCampaignDetails" event and corresponding params (ParameterSource,ParameterMedium,ParameterCampaign)
2. Mark this event as conversion in Firebase dashboard (if it will appear there - we are not sure)
3. Use Attribution section a Firebase Console for this event where we expect to see http://service.crazypanda.ru/v/clip2net/i/P/bvemOunzl1.png

How should we implement this?

Mayank Jain

unread,
Feb 5, 2018, 11:43:25 AM2/5/18
to fireba...@googlegroups.com
Hi there,

One way to give this a try (or you might have already tried this) - is using AppsFlyer's "Multiple Broadcast receiver" to get INSTALL_REFERRER to your custom code. Then parse & set the value of INSTALL_REFERRER in Firebase user properties.

Once you have the user properties setup, you can use them within firebase for building audiences.

Does that helps? Or you completely want to remove AppsFlyer?

--
You received this message because you are subscribed to the Google Groups "Firebase Google Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebase-talk+unsubscribe@googlegroups.com.
To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/74f2d0a3-561a-47ca-850f-337e8f25884f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Mayank Jain
Product Manager, Firebase Remote Config

Александр Виноградов

unread,
Feb 5, 2018, 4:58:05 PM2/5/18
to Firebase Google Group
First of all thank you very much for the answer!
Yes, we have all needed info (source, medium, campaign) from Appsflyer at runtime. But do you know how to actually set INSTALL_REFERRER user properties in firebase through it's SDK? We did not find any docs on that property. What is the format?

 
On Monday, February 5, 2018 at 7:43:25 PM UTC+3, Mayank Jain wrote:
Hi there,

One way to give this a try (or you might have already tried this) - is using AppsFlyer's "Multiple Broadcast receiver" to get INSTALL_REFERRER to your custom code. Then parse & set the value of INSTALL_REFERRER in Firebase user properties.

Once you have the user properties setup, you can use them within firebase for building audiences.

Does that helps? Or you completely want to remove AppsFlyer?
On Mon, Feb 5, 2018 at 3:30 AM, Александр Виноградов <a.vino...@crazypanda.ru> wrote:
We've recently soft-launched our mobile MMO real-time strategy game but later we figured out that 95% of our paid traffic has no source attribution in Firebase Console (marked as direct). We use Appsflyer as our primary marketing dashboard but we want to move to Firebase partly because of Prediction, Remote Config, BigQuery and some other promising features. After some research we found several reasons why we do not get attribution on our end:

1. Most of the ads platforms (ChartBoost, Unity Ads, Facebook etc ) use direct system API (instead of market://) to open app Playstore/Appstore market page and they DO NOT add referrer utm_ tags. 
We had a VERY long and conversation but none of them have any plans to fix this.
2. The huge amount of Chinese smartphones has "patched" Android onboard (google services, play store etc) and all this referral linking simply does not work there. We've tested it in our lab and we were amazed.

After the user opens a game we initialize Appsflyer SDK and we get all needed attribution from their service.

The question:
How to set attribution manually sing firebase SDK from the client or from our server via S2S request?

What we plan to do Strategy#1:
1. Send a custom event with name "custom_first_open" and corresponding params (ParameterSource,ParameterMedium,ParameterCampaign)
2. Mark this event as conversion in Firebase dashboard (if it will appear there - we are not sure)
3. Use Attribution section a Firebase Console for this event where we expect to see http://service.crazypanda.ru/v/clip2net/i/P/bvemOunzl1.png

What we plan to do Strategy#2:
1. Send your "EventCampaignDetails" event and corresponding params (ParameterSource,ParameterMedium,ParameterCampaign)
2. Mark this event as conversion in Firebase dashboard (if it will appear there - we are not sure)
3. Use Attribution section a Firebase Console for this event where we expect to see http://service.crazypanda.ru/v/clip2net/i/P/bvemOunzl1.png

How should we implement this?

--
You received this message because you are subscribed to the Google Groups "Firebase Google Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebase-tal...@googlegroups.com.

To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/74f2d0a3-561a-47ca-850f-337e8f25884f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Александр Виноградов

unread,
Feb 7, 2018, 10:59:43 AM2/7/18
to Firebase Google Group
Hi again! Could you please tell us more about setting INSTALL_REFERRER user property? We are dying here without proper attribution :)


On Monday, February 5, 2018 at 7:43:25 PM UTC+3, Mayank Jain wrote:
Hi there,

One way to give this a try (or you might have already tried this) - is using AppsFlyer's "Multiple Broadcast receiver" to get INSTALL_REFERRER to your custom code. Then parse & set the value of INSTALL_REFERRER in Firebase user properties.

Once you have the user properties setup, you can use them within firebase for building audiences.

Does that helps? Or you completely want to remove AppsFlyer?
On Mon, Feb 5, 2018 at 3:30 AM, Александр Виноградов <a.vino...@crazypanda.ru> wrote:
We've recently soft-launched our mobile MMO real-time strategy game but later we figured out that 95% of our paid traffic has no source attribution in Firebase Console (marked as direct). We use Appsflyer as our primary marketing dashboard but we want to move to Firebase partly because of Prediction, Remote Config, BigQuery and some other promising features. After some research we found several reasons why we do not get attribution on our end:

1. Most of the ads platforms (ChartBoost, Unity Ads, Facebook etc ) use direct system API (instead of market://) to open app Playstore/Appstore market page and they DO NOT add referrer utm_ tags. 
We had a VERY long and conversation but none of them have any plans to fix this.
2. The huge amount of Chinese smartphones has "patched" Android onboard (google services, play store etc) and all this referral linking simply does not work there. We've tested it in our lab and we were amazed.

After the user opens a game we initialize Appsflyer SDK and we get all needed attribution from their service.

The question:
How to set attribution manually sing firebase SDK from the client or from our server via S2S request?

What we plan to do Strategy#1:
1. Send a custom event with name "custom_first_open" and corresponding params (ParameterSource,ParameterMedium,ParameterCampaign)
2. Mark this event as conversion in Firebase dashboard (if it will appear there - we are not sure)
3. Use Attribution section a Firebase Console for this event where we expect to see http://service.crazypanda.ru/v/clip2net/i/P/bvemOunzl1.png

What we plan to do Strategy#2:
1. Send your "EventCampaignDetails" event and corresponding params (ParameterSource,ParameterMedium,ParameterCampaign)
2. Mark this event as conversion in Firebase dashboard (if it will appear there - we are not sure)
3. Use Attribution section a Firebase Console for this event where we expect to see http://service.crazypanda.ru/v/clip2net/i/P/bvemOunzl1.png

How should we implement this?

--
You received this message because you are subscribed to the Google Groups "Firebase Google Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebase-tal...@googlegroups.com.

To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/74f2d0a3-561a-47ca-850f-337e8f25884f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mayank Jain

unread,
Feb 7, 2018, 11:06:36 AM2/7/18
to fireba...@googlegroups.com
Hi there,

Sorry for not being clear.
When I said user properties, what I meant was the general purpose user properties which you can set using Firebase SDK.
So you could potentially take the values received from the INSTALL_REFERRER and push them back into a user property like this.

Does that helps?

Thanks



For more options, visit https://groups.google.com/d/optout.

Александр Виноградов

unread,
Feb 7, 2018, 2:15:04 PM2/7/18
to Firebase Google Group
Ah i see.. but sadly this data will be useless because it will not show-up in Attribution report.
Also, it will be impossible to calculate LTV or ROI for lets' say "Chartboost" + "Android" + "Valentines Day Campaign" traffic because you can filter only by single user property :(

Maybe there is a way to write/override attribution data directly into Firebase Database (BigQuery or whatever holds this data) via Cloud Functions or via Rest API (server 2 server)?
Or maybe there is a way to somehow manually broadcast install event to firebase receiver with all needed info before firebase catches system broadcast?

Mayank Jain

unread,
Feb 7, 2018, 4:28:30 PM2/7/18
to fireba...@googlegroups.com
Okay, try this
  1. Setup multiple user properties based on the info you have (like source, medium, campaign, etc)
  2. Combine 2 or more user properties to make an audience
  3. Filter your attribution report on the audience
I don't have enough data in my test app to see actual results - but I guess that should do the trick.

Lemme know how it goes.




For more options, visit https://groups.google.com/d/optout.
step2.png
step3.png
step1.png

Александр Виноградов

unread,
Feb 7, 2018, 8:28:54 PM2/7/18
to Firebase Google Group
Yep! We thought that this was a solution, clean and simple and our pain was over, but.. :)
- LTV is calculated only for the first_open event and we don't know why.
- As we discovered "one can not simply" filter first_open event by Audience based on user property if this property was set after that event as we assume.
- We create around 30 campaigns a month so audience list will be a mess very soon as well as "suggested" values when you create an Audience. Also, that means that our marketing team will have to create an Audience before each campaign manually. "Ease of use" was a requirement form our top management team so we tried to automate Audience creation but failed (there is no API for that etc.)
k1cgq_2018-02-08_01.09.26.png
qvyrn_2018-02-08_01.11.54.png
Reply all
Reply to author
Forward
0 new messages