-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Google Analytics attribution params not being recorded in dynamic_link_first_open event #2462
Comments
I found a few problems with this issue:
|
I see that newer issues are being answered by humans, so just wondering if I missed something during the creation of this issue. Or maybe things just are taking longer in this case... Cheers, |
@damienix Thanks for the thorough issue investigation and description. Yes, issues are answered based on a combination of domain knowledge and availability. I'll see if we can make some progress on this one soon. |
Great, thanks! |
@damienix Thank you for so detailed information. |
Fixed in #2478 |
@paulb777 Hello, Now that we've came across this issue, we wonder if they're the same & that is fixed. We're trying to test but could not find a way. We report AnalyticsEventCampaignDetails when a branch.io link is used to open/install. DebugView only shows (not set) event with the correct parameters, but does not include the parameters for any other event. How can we test that Firebase persists these data? |
@b-onc I second your question, about what makes Firebase remember UTM campaign for a particular user. Which event does it? Meanwhile, to my understanding, technically these params are stored in some internal place and attach to subsequent events as campaign parameters. Though I think there's some magic happening to set them as in the live BigQuery export of the events (intraday table) there are no campaign params. They're only saved after closing the day and closing the table of the day. So I believe there's no better way of testing than making sure the campaign params are logged in the event (we still don't know which event but probably link_open or (not set) one) plus checking campaign params in BigQuery/Firebase reports the next day (or a few hours later for reports). P.S. I find this article showing how complicated and "magic" attributing really is https://support.google.com/firebase/answer/6317518?hl=en |
Exactly, but the |
@b-onc Let me clarify the issue you have. The app behaviour:
Please let me know if this is not precise. What you would like to know:
|
@maksymmalyhin Sorry for the late response. When the application is simulated as launched via a link (by tracking utm parameters with Consecutive normal launches (no link simulation, no utm tracking code) do not have this We want to know if UTM parameters were correctly registered and they persist between launches. We worked around this before by persisting the paramters by ourselves and tracking |
@b-onc no problem. |
I'll refer once more to the documentation: https://support.google.com/firebase/answer/6317518?hl=en
So @b-onc attribution seems to be based on time-based windows rather than logging the event every app open. This has also been working for me for past few months. What is totally not clear to me is which window applies to opening dynamic links: 30 days, 0.5y or 1 year. Any chance that some of the Firebasers explains that in more datail? |
Steps to reproduce:
Hi, I'm struggling to get iOS attribution via dynamic links working on iOS. I'm using dynamic links where I set the UTM parameters. On Android, this is working as I'd expect. When a user installs the app (on mobile) from a dynamic link, their future analytics event contain campaign params. I can confirm this by capturing these events:
campaign
,source
andmedium
are recorded indynamic_link_first_open
, but they are also recorded (without extra data) in the next event(not set)
. I'm not sure which actually sets the attribution params for the user, can you tell me that?On iOS after opening the link, and then installing the app I get no UTM parameters included in the event, there's also no
(not set)
event. As said before, I suspect that one of these events sets the attribution, but I haven't found any information on which, please confirm.I found that on iOS
dynamic_link_first_open
ordynamic_link_app_open
(doesn't matter which as it's handled by the same code) will report campaign parameters when opened when the app is already installed. AFAIU in that case the app receives the params via a deep link and is handled by different code. Also, this is counted properly in the Conversions tab.I found that UTM params are lost when the links (obtained from clipboard) are processed by
FIRPostInstallAttributionCompletionHandler
which then only passesFIRDynamicLink
for further processing, and this class doesn't contain UTM data. Old params are replaced bymatch_type
andmatch_message
only.https://github.com/firebase/firebase-ios-sdk/blob/master/Firebase/DynamicLinks/FIRDLDefaultRetrievalProcessV2.m#L127-L155
I was testing this on https://github.com/firebase/quickstart-ios/tree/master/dynamiclinks/DynamicLinksExample
Relevant Code:
I've prepared the PR #2461 with the code that seems to fix the problem for me i.e. with this change I see UTM parameters properly reported in dynamic_link_first_open event the same as I see them on Android plus extra
(not set)
event the UTM params, though I haven't debugged where(not set)
event is fired and why :) I assume the will save the attribution for a particular user.Let me know if you have any questions, TBH I still hope that maybe I did something wrong, if not then I can't imagine how no one had been complaining about this for months... 😦 Is this possible? 😉
Damian
The text was updated successfully, but these errors were encountered: