Referrals

Setup guide to tracking user's invites and shares with Glu Programs
  • Log into your firebase account

  • Go to Dynamic Link section

  • Click on Add URL Prefix

  • Enter the domain name you want to create. From the drop-down select a Google-Provided domains Eg: <domain-you-entered>.page.link

  • Share the WebAPI key with CustomerGlu from your firebase console. It can be found Settings > General> Web API Key

  • Share following with CustomerGlu

    • androidPackageName for android apps

    • iosBundleId for ios apps

    • iosAppStoreId for ios apps

    • Default URL to redirect to if opened from outside ios or android ecosystem

    • Web API Key see above

    • URL Prefix see above eg: <domain-you-entered>.page.link

Please refer to the following documentation for receiving and processing the referral links Android: https://firebase.google.com/docs/dynamic-links/android/receive IOS: https://firebase.google.com/docs/dynamic-links/ios/receive The referlink that you extract will be of the format https://<default-url>/?userId=<referrer'sUserId> You can extract this userId by parsing the query parameter of the deepLink like so,

// Android
String referrerUserId = deepLink.getQueryParameter("userId");
//iOS
let queryItems = URLComponents(url: deepLink, resolvingAgainstBaseURL: true)?.queryItems
let referrerUserId = queryItems?.filter({(item) in item.name == "userId"}).first?.value

Store this referrerUserId information and pass it as referredBy property in the device registration call for the new user

{
"userId": "<new-user-Id>",
"deviceId": "asd",
"deviceName": "TestDevice",
"deviceType": "android",
"writeKey": "write-key",
"firebaseToken": "firebase-token",
"referredBy": "referrerUserId"
}

On installation where there is no referrer, you need not send referredBy property in the call

Processing referral from registration/app download web page

If your app is not available in the play/app store and you have an app download flow via a webpage, please follow the below steps

  • Provide download page URL to CustomerGlu, eg: https://testclient.com/register

  • When a user clicks on the referralLink he will be redirected to the default URL provided to us with referrer's userId appended as a query parameter. eg:

    • https://testclient.com/register?userId=userA

  • Extract the referrer's userId from the url and make the deviceRegistration call to our server with

    • New user's userId

    • Referred user's userId as referredBy

    • other details that are available

{
"userId": "userB",
"userName": "New User",
"referredBy": "userA",
"phone": "932339089012489",
"email": "[email protected]"
"customAttributes": {
"custom_attr_1": "asdas"
},
"writeKey": "<writeKey>"
}
  • Once the user installs the app and is registered with the same userId (eg: userB in this case), his referral information will be attached to the new user