9

I am looking at using branch.io to support a flow in my app whereby an existing user can invite a friend to use the app by sending them their personalized invitation link. The person clicking the link would be sent to the App Store to download the app, and upon doing so and then opening it, they would be prompted to add the link owner as a friend. I'm curious how this would work in situations where many people in the same GPS location are inviting each other to the app. Does anyone have experience with this or know how branch handles this scenario?

Mada Seghete
  • 339
  • 2
  • 9
eric
  • 93
  • 3

1 Answers1

16

I'm a developer at Branch. Good question, and one we've been asked a number of times now. In general, out in the real world, mismatches are very, very rare as people aren't typically on the same wifi with the exact same phone and OS version, so most people aren't concerned. Additionally as people click links across our network, we remember that user using a cookie. Then, if someone clicks the link again for your app, we don't guess anymore and can deep link with 100% accuracy from prior history. So, as people use the service, the linking gets even closer to 100% in aggregate.

Your concern centers around the potential for mismatching. If the clicking user gets taken the app store (since they don't have the app installed), there is a slight chance of a mismatch when the data gets passed through because we match the browser fingerprint to the device fingerprint by comparing IP, OS, OS version, phone model and time. If two phones match in all those parameters and click the link at the same time and then immediately begin app sessions after installing, there is a risk of mismatch.

We have an option that will not match an app session and pass parameters if there are two or more, matching, outstanding fingerprints. This will basically protect against the case of a potential mismatch of multiple clicks. You can enable it by setting Link Type to Unique on the Dashboard's Link Settings screen, at the bottom under "Advanced Settings."

st.derrick
  • 4,769
  • 2
  • 24
  • 25
  • But if two exact same devices come to your service, the first who install gets the first (according to the creation date of the record in your database) entry back? So if someone is quicker in installing, it could happen that the two possible entries are false? How long has the client time to install? I mean, how far back you look in your database to get a possible match? – SteMa Jul 31 '15 at 19:33
  • so if User A clicks then installs, then identical User B clicks and installs, there isn't a problem. – st.derrick Aug 05 '15 at 20:34
  • by default we only look back 2 hours. this is configurable as well. – st.derrick Aug 05 '15 at 20:34