fix(ADJUtil): iad-adgroup-name == "AdGroupName" #523
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Alternative PR to #524.
After debugging for many hours over the course of a few days, I think I uncovered a typo bug.
Observed Behavior
Adjust keeps attributing Apple Search Ads with broken / dummy attribution data, even though:
As you can clearly see from the screenshots, the...
CampaignName (1234567890)
(iad-campaign-name
,iad-campaign-id
)AdGroupName (1234567890)
(iad-adgroup-name
,iad-adgroup-id
)...are obviously invalid dummy data.
I have no clue which event
unknown (12323222)
is supposed to represent, but I can see that12323222
is theiad-keyword-id
. Furthermore, it also appears in this log message from #509 (comment) lamenting a related issue, making it very likely to be some form of dummy data.Cause
ios_sdk/Adjust/ADJUtil.m
Lines 914 to 948 in cfbbd18
I've placed a breakpoint in
checkAttributionDetails
and after a lot of back and forth found, that the issue is in L935:ios_sdk/Adjust/ADJUtil.m
Lines 933 to 939 in cfbbd18
This compares the value of
iad-adgroup-name
toAdgroupName
. The intention is to reject attribution details from iAd that are just dummy data. It has a typo. The actual dummy data doesn't useAdgroupName
with a lower-caseg
, butAdGroupName
with an upper-caseG
.Searching through the issue tracker for
AdGroupName
brings up these issues with log messages, in which you can see, that the capitalization isAdGroupName
with an upper-caseG
, and notAdgroupName
: #445, #475, #509Fix
From my POV the fix is simply changing the capitalization, as done in this PR.
However, this begs the question: How did this ever work before?
As always, the Apple Developer docs around this are "thin" to say the least... I could imagine, that this actually used to be
AdgroupName
with a lower-caseg
and only got changed recently. The three issues I linked are all relatively new. So either this is really because it only got changed a few months ago, or there's now just a higher interest in all of this, e.g. due to ATT & iOS 14.5 or whatever...In my testing thus far I haven't run into
AdgroupName
at all, but I've only debugged this bit on iOS 14.4.2 yet and currently have no access to devices with a lower iOS version. My iOS 13.7 simulator also usesAdGroupName
.So, if you think that we should not replace the capitalization, but check for both, I have an alternative PR here: #524