SaaSquatch Help Center

SaaSquatch integrates with AppsFlyer. This technical reference explains the specifics fields, features, API calls, and functionality that are used in the integration.

πŸ”— New to AppsFlyer?

This page is a technical reference of the AppsFlyer integration. Just getting started for the first time? Check out this article instead: AppsFlyer Getting Started Guide

πŸ”— How it Works

The SaaSquatch integration with AppsFlyer works as follows:

  • SaaSquatch sharelinks will start redirecting to AppsFlyer links

  • SaaSquatch will create AppsFlyer links dynamically by passing custom attribution parameters to the link provided in your AppsFlyer configuration.

    • Using Appsflyer's unified deep linking, data is passed using the deep_link_sub1 through deep_link_sub7 url parameters.
    • Using Appsflyer's legacy deep linking data is passed using the following url parameters af_web_dp, utm_source, utm_medium, utm_campaign, rsCode, rsShareMedium, rsEngagementMedium and _saasquatch
    • You can use deep_link_sub1 or _saasquatch depending on your deep linking to attribute referrals and the other parameters to customize the mobile landing experience.

SaaSquatch will redirect all link clicks through AppsFlyer. Mobile users will be directed by AppsFlyer according to your OneLink configuration and desktop users will be directed to the landing page URL you configured for your SaaSquatch program. SaaSquatch passes this URL through the af_web_dp parameter. If you set the value for af_web_dp in AppsFlyer it will overwrite the value configured for your SaaSquatch program.

IMPORTANT: If you have both Branch Metrics and AppsFlyer integrations enabled, share links will still be redirected to AppsFlyer links, however the Branch deep link will be passed to the AppsFlyer integration instead of your landing page link (in effect, both integrations are applied, Branch first, then AppsFlyer).


When SaaSquatch creates AppsFlyer links dynamically the resulting link and it’s custom attribution parameters produce a deep link similar to the following example:

{
  "pid": "saasquatch_int",
  "c": "saasquatch",
  "af_web_dp": "http://myReferralLandingPage.com",
  "utm_source": "invite",
  "utm_medium": "link",
  "utm_campaign": "saasquatch",
  "rsCode": "REFERRALCODE",
  "rsShareMedium": "UNKNOWN",
  "rsEngagementMedium": "UNKNOWN",
  "_saasquatch": "eyJhcHAucmVmZXJyYWxzYWFzcXVhdGNoLmNvbSI6eyJ0ZXN0XzEyMzQ1NjdfQ09ERSI6eyJjb2RlcyI6eyJyZWZlcnJhbCI6IlJFRkVSUkFMQ09ERSJ9LCJjb2Rlc0V4cCI6eyJSRUZFUlJBTENPREUiOjE2Mjk1ODIxOTl9LCJsaW5rcyI6eyJyZWZlcnJhbCI6Imh0dHBzOi8vc3NxdC5jby9temFBMjIifSwibGlua3NFeHAiOnsiaHR0cHM6Ly9zc3F0LmNvL216YUEyMiI6MTYyOTU4MjE5OX19fX0="
}
{
  "pid": "saasquatch_int",
  "c": "saasquatch",
  "af_web_dp": "http://myReferralLandingPage.com",
  "deep_link_sub1": "eyJhcHAucmVmZXJyYWxzYWFzcXVhdGNoLmNvbSI6eyJ0ZXN0XzEyMzQ1NjdfQ09ERSI6eyJjb2RlcyI6eyJyZWZlcnJhbCI6IlJFRkVSUkFMQ09ERSJ9LCJjb2Rlc0V4cCI6eyJSRUZFUlJBTENPREUiOjE2Mjk1ODIxOTl9LCJsaW5rcyI6eyJyZWZlcnJhbCI6Imh0dHBzOi8vc3NxdC5jby9temFBMjIifSwibGlua3NFeHAiOnsiaHR0cHM6Ly9zc3F0LmNvL216YUEyMiI6MTYyOTU4MjE5OX19fX0=",
  "deep_link_sub2": "invite",
  "deep_link_sub3": "link",
  "deep_link_sub4": "saasquatch",
  "deep_link_sub5": "REFERRALCODE",
  "deep_link_sub6": "UNKNOWN",
  "deep_link_sub7": "UNKNOWN"
}

There may be other parameters added by AppsFlyer depending on how your OneLink is configured.


πŸ”— Data Fields

When SaaSquatch creates AppsFlyer links dynamically, it includes a number of custom attribution parameters. These includes fields from AppsFlyer, as well as the standard set of parameters usually passed in the query string to your program landing page by SaaSquatch. The fields are detailed below.

pid
string

Media source, set as 'saasquatch_int' in AppsFlyer when configuring your custom attribution link

c
string

Campaign name, set as 'saasquatch' in AppsFlyer when configuring your custom attribution link

af_web_dp
string

The URL where desktop users will be redirected. Set as the landing page for your program in the SaaSquatch portal. Do not configure a value for this parameter when creating your custom link in AppsFlyer.

deep_link_sub1
string

The Base64URL encoded attribution cookie values. This is necessary to attribute the referral. When decoded, the schema will resemble the following: {"app.referralsaasquatch.com": {"tenantAlias_CODE": {"codes": {"program1": "CODE1"},"codesExp": {"CODE1": 1234567}}}}

deep_link_sub2
string

Google Analytics-compatible traffic source identifier

deep_link_sub3
string

Google Analytics-compatible advertising or marketing medium

deep_link_sub4
string

Google Analytics-compatible campaign name

deep_link_sub5
string

The Referrer's referral code.

deep_link_sub6
string

The medium through which the Referrer shared their referral (e.g. Twitter share button)

deep_link_sub7
string

The medium from which the Referrer engaged with the referral program (e.g. embedded widget)

pid
string

Media source, set as 'saasquatch_int' in AppsFlyer when configuring your custom attribution link

c
string

Campaign name, set as 'saasquatch' in AppsFlyer when configuring your custom attribution link

af_web_dp
string

The URL where desktop users will be redirected. Set as the landing page for your program in the SaaSquatch portal. Do not configure a value for this parameter when creating your custom link in AppsFlyer.

utm_source
string

Google Analytics-compatible traffic source identifier

utm_medium
string

Google Analytics-compatible advertising or marketing medium

utm_campaign
string

Google Analytics-compatible campaign name

rsCode
string

The Referrer's referral code.

rsShareMedium
string

The medium through which the Referrer shared their referral (e.g. Twitter share button)

rsEngagementMedium
string

The medium from which the Referrer engaged with the referral program (e.g. embedded widget)

_saasquatch
string

The Base64URL encoded attribution cookie values. This is necessary to attribute the referral. When decoded, the schema will resemble the following: {"app.referralsaasquatch.com": {"tenantAlias_CODE": {"codes": {"program1": "CODE1"},"codesExp": {"CODE1": 1234567}}}}