So, my current experience with this.
I am advertising my ios app with Google Ads app campaign.
Whenever user does this one thing on the app, I log an event to Firebase/Google Analytics.
That event there shows up fine with proper count.
Then I export this event to Google Ads, and also make a SKAdNetwork mapping.
This event shows up in Google Ads as a conversion action definition, but with status "No recent conversions".
I want it to show "Active".
I have also set AppsFlyer to receive winning SKAN postback copies (its a bit easier to read them there in the "SKAN Overview" section).
I do see the app instals there, meaning I am getting SKAN postback copies, but the column "Null conversion value rate" is always 100% - meaning, each received postback has conversion value as NULL.
Now, it is my understanding, that in order to update that Conversion Value (CV), we have 2 approaches:
- Directly:
SKAdNetwork.updatePostbackConversionValue(5) { error in
if let error = error {
// Report production error to Sentry
}
}
- Indirectly:
SKAdNetwork.updatePostbackConversionValue(3, coarseValue: .high, completionHandler: { error in
if let error = error {
// Report production error to Sentry
}
})
It is my understanding that Firebase/AppsFlyer and other libraries call one of those methods.
So I am trying to update that value manually to take 3rd party libraries out of the equation.
The 2nd approach is what I have currently tried (the advantage of it is that it can later hold more information).
A couple of days have passed and, unfortunately I still receive SKAN postbacks with null CV values (my install base is couple hundred, so CV values shouldn't be withheld by Apple).
However - due to me now calling the update method manually, I also log potential errors to Sentry.
And what do you know - I get "SKANErrorDomain: Code: 10", which, as already mentioned, means "unknown".
Well - shit.
What now?