# Appsflyer

![Screenshot](https://assets.relyanceuat.xyz/images/docs/37016864752141/37016864748557.png)

AppsFlyer is a SaaS platform that provides a comprehensive suite of tools for mobile marketers. Its core purpose is to help businesses track, measure, and optimize their mobile app marketing campaigns.
**In AppsFlyer**

To read more about the following steps, you may refer to this article: [**Managing AppsFlyer tokens**](https://support.appsflyer.com/hc/en-us/articles/360004562377-Managing-AppsFlyer-tokens)

**In the Relyance AI Application**

1. Login to your Relyance AI account.
2. Navigate to the **Settings** (bottom-left corner).
3. Select **Integrations**.
4. Search and locate the **Appsflyer** integration card and click on it.
5. Click on the **Add Connection** button on the top right.
6. Provide a meaningful name for the integration and click on the **Add** button.
7. In the **Overview** section, review the **Scope and Permission**, and **Endpoint** details and click on **Continue**. For more details, see [Integration Features](/docs/introduction-to-relyance-ai/integration-features/).
8. In the **Connection** section, provide the appropriate values and click on **Continue**,
9. In the **Authentication** section, provide the following information retrieved from the **In Appsflyer** section and click on **Authenticate**.
    1. **API Token field:** Paste the token found on the previous section.
    2. **Sampling Percent:** Choose a number between 1-100 to specify the percentage of registers that you want to sample.
    3. **Period**: This value will be used to search report data. It defines the number of days before today that you want to start the search (Max: 30). **Example:** If the current day is 04/25/2005 and you insert 10 on the **Period** field, the report will use this range of dates: from: 15/04/2025 to: 25/04/2025
10. Review the configuration summary from the **Completion** section and click on **Finish**.
11. Confirm the integration **Status** reflects **Connected**.

![Screenshot](https://assets.relyanceuat.xyz/images/docs/37016864752141/37016849532685.png)

![Screenshot](https://assets.relyanceuat.xyz/images/docs/37016864752141/37016849534733.png)

![Screenshot](https://assets.relyanceuat.xyz/images/docs/37016864752141/37016849535245.png)

<!-- auth-methods:begin (generated from the integration catalog; do not hand-edit) -->

## Authentication methods and fields

Pick one of these under **Authentication Method** on the connection wizard's **Authentication** step. This table is generated from the integration catalog, so it always matches what the form actually asks for.

| Method | Required | Optional |
| --- | --- | --- |
| **Custom** | `API Token` (secret), `Period` (secret) | — |

<!-- auth-methods:end -->

<!-- terraform-examples:begin (generated from the integration catalog; do not hand-edit) -->

## Manage this integration with Terraform

Connections for this integration can be managed as code with the [Relyance Terraform provider](https://registry.terraform.io/providers/Relyance/relyance/latest). Non-secret fields go in `auth.params`; secret fields go in `auth.secrets_wo`, which is write-only — never stored in Terraform state. Rotate secrets by bumping `auth.secrets_wo_version`.

```hcl
resource "relyance_integration_connection" "appsflyer" {
  vendor = "appsflyer"
  name   = "<your connection name>"

  auth = {
    method = "api-token"
    params = {
      data_storage_location = "us"
    }
    # Secret fields are write-only: sent to Relyance, never stored in state.
    secrets_wo = {
      API_TOKEN = var.appsflyer_api_token
      period = var.appsflyer_period
    }
    secrets_wo_version = 1
  }

  scans = { "data-inspection" = { enabled = true } }
}
```

<!-- terraform-examples:end -->
