I successfully implemented an A/B test for my mobile application, but have run into an issue. I would like to use this A/B test to simply track how many of my users visit a certain page at least once, no matter how many times they open the app. My A/B Test has one location which I use to get an experience, and an action in the app marks a successful conversion (see attached image) The way I understand it, Adobe Target generates a new session id (_sessionId in the TargetWorker class) on every app relaunch, and this counts as a new visit each time. This session id appears to be how Target tracks a conversion (it is sent as header in the network call). So, if a user launches the app 5 times and performs the desired action in 3 of those sessions, he gets marked as a visitor 5 times, and as a "converted visitor" 3 times. However, I would like him to be marked as a visitor just once, and as a converted visitor just once as well.
It looks like I could get close to this desired behaviour by targeting New Visitors only, but this wouldn't mark my visitor as converted if he only performed the desired action for the first time after a restart.
It feels like I would want Target to keep this sessionId instead of generating a new one on each launch?
Sounds like Visitor is the one that you are looking for. Though the downside is that the one Visitor could have many different conversions depending on how you set those up. You could also go into the advanced settings and choose to keep the user in the test and no longer count conversions.
The calls do indeed use the marketingCloudVisitorId. Switching between Visitors/Visits/Impressions doesn't make a difference: launching the app 4 times (requesting the experience 4 times) counts as 4 Visits (which is what I would expect), but also as 4 Visitors (which doesn't seem right).
The user does get the same conversion every time he calls the location, so that's good.
That seems like a bug to me then. If it is the same marketingCloudVisitorId on the calls then it should all roll up into one Visitor. I know it does that for the thirdPartyId, though they are trying to move away from that. I would start by turning tracing/debug on for your calls and looking at the response. Or moving into Postman and hitting Delivery API so you can modify the values as you see fit to make sure that the reporting is not working right. Then client care ticket would be my next stop.