Skip to main content

Hi, 

We are trying to use SKAdNetwork to track trial starts and trial conversions via Branch. While working with Branch customer support, they suggested we track these natively via BranchEvents so that the events would be captured by SKAN. This is easy for trial starts since we get a callback on device when the trial starts. However, for trial conversions, we need to do this client side as well to have them registered via SKAN. Is there an easy way to do this? One way I thought about doing this would be to set up `addPurchaserInfoUpdateListener` in the app and an async storage valuue to set this listener until if fires and then check if the user info changes to subscribed or cancelled. This seems a little convoluted though so I wanted to see if there was an easier way. 

As an aside, the Branch docs should probably be updated with a note around SKAdNetwork as we spent a lot of time trying to debug why we were getting no attribution data and it was because the events were coming server side not client side and therefore could not be attributed. 

Hello @jake lynch ,

We are also using RevenueCat and Branch in our app.

currently we receive our START_TRIALS in our branch dashboard coming from RevenueCat.
but we are also facing the issue of the START_TRIAL events not being attributed on our SKAdNetwork.

Are you guys manually sending the START_TRIAL Branch events from the fe/client to branch?

 


Hi @MateoParodi

This is eventually what we started doing. Server-side events cannot be aggregated by the SKAdnetwork, so you need to manually attribute events on the FE. We have not been able to do this for purchases yet, since we have 7-day trial that autoconverts, but the trial starts have been sufficient.


Nice, 

can you please help me a little bit on how you send the START_TRIAL event manually?
which RevenueCat SDK are you using? native ones for Android/iOS or the react-native one?


You can do something like:

```

const event = new BranchEvent(BranchEvent.StartTrial);

await event.logEvent();
```

And call that in the case of successful trial start from revenue-cat


But you don’t need to send also some parameters, like the transaction, campaign, etc. to be attributed to a specific ad or campaign?

like this example in the branch documentation:
 

 


You can if you want to, but branch should handle a lot of that on its own if you have set up branch correctly in your ads


@jake lynch @MateoParodi having the same problem.  Wouldn’t adding the Start trial event client side + Branch integration lead to double reporting for the trial?


Just wanted to add some context here. SKAdNetwork doesn’t have any server-side APIs, so the conversion values need to be collected and set client-side. Collecting those values directly from the device using Branch’s SDK makes sense. While this would definitely be made easier if the RevenueCat SDK interfaced with SKAN directly, this isn’t on our roadmap as it would require a significant investment into building that system and wouldn’t add anything beyond what you get from Branch as we would have to do everything client-side as well. This has been passed on as a feature request to our product team though. I hope this helps clarify things!


@achraf-62a7dc Did you ever figure that out? It sounds logical to me that we should turn off the START_TRIAL event forwarding from the RC Branch integration if we track it client side. 


Reply