# Integrate with Singular

This guide explains how to integrate your impact.com account with Singular, a Mobile Measurement Partner (MMP), to report iOS and Android mobile events. This integration allows you to track and attribute mobile app conversions driven by your marketing efforts.

### Prerequisites

* You must have an existing impact.com account.
* You must have an existing Singular account with your mobile app(s) configured.
* You’ll need *Administrator* access to both your impact.com and Singular accounts.
* This integration requires a skilled technical resource with a background in web development.

{% stepper %}
{% step %}

### Activate impact.com in your Singular account

1. In Singular, from the left navigation menu, select **Attribution Setup → Partner Configuration**.
2. Search for "Impact" and select ![](/files/gbGEaKuAkSekAQcCkyV2) **\[Add]** **Add App site** for both Android and iOS.
   {% endstep %}

{% step %}

### Configure the impact.com module in your Singular account

To link your accounts, you must provide Singular with your impact.com API credentials and the App install Event Type ID (Tracker ID) assigned to your mobile apps.

1. On the *Partner Configuration* screen, hover over each version of the app and select **Edit**.
2. Select the **Attribution Postbacks & Settings** tab.
3. Below **Impact Parameters**, enter the following:
   * **Account SID/Username**: Your impact.com [Account SID](https://help.impact.com/brand/what-would-you-like-to-learn-about/account-administration/account-settings/api-tokens).
   * **Install Action Tracker ID**: Your system app ID. To find your app ID, navigate to ![](/files/qPLiENtq33ewHc3tmEP4) **\[User profile] → Settings →&#x20;*****Tracking*****&#x20;→** [**Mobile Apps**](https://app.impact.com/secure/advertiser/tracking-settings/mobileapps/view-mobile-apps-flow.ihtml).
   * **Account Token**: Your [impact.com Auth Token](https://help.impact.com/brand/what-would-you-like-to-learn-about/account-administration/account-settings/api-tokens).
4. Select **Next**.
   {% endstep %}

{% step %}

### Map your Singular in-app SDK event names to impact.com event codes

#### Retrieve your SDK event names

1. On the *Impact Partner Configuration* page, select the **In-App Events Postback** tab.
2. Navigate to the *Events Postbacks* section.
3. Capture your app’s SDK Event Names.
   * You'll map these SDK event names to event codes in the *Manage Event Codes* section below.
4. Select **Next**.
5. In the **Advanced Settings** tab, select **Save**.

#### Manage event codes

For each additional in-app event you’re tracking, you’ll need to configure it as an event code for your mobile app. Once added, this will make the event payable to partners.

1. In the impact.com platform, from the top navigation bar, select ![](/files/qPLiENtq33ewHc3tmEP4) **\[User profile] → Settings**.
2. In the right column, select [**Mobile Apps**](https://app.impact.com/secure/advertiser/tracking-settings/mobileapps/view-mobile-apps-flow.ihtml?).
3. In the list, find the mobile app that you want to modify and select ![](/files/QIUzi1ogqnG2NvotPFQE) **\[More] → Manage Event**.
4. In the top-right corner of the screen, select **Add Event**.
5. Find the In-App Events line item and select **Add Another Event**.
6. Enter an **Event Display Name** — this is simply a name for this event that will appear in the impact.com platform.
7. Enter the **Event Code** for this event — it must be exactly as it appears under the *SDK Event Name* column in Singular.
8. Choose a *Crediting Rule* — in most cases, this will be **Last Click**.
9. Select *Add Another Event* to add another, otherwise select **Save**.
   {% endstep %}

{% step %}

### Retrieve tracking information

Before your integration can go live, you must gather the following specific information. This data is essential for the impact.com team to complete your solution configuration. Once collected, provide these details to your implementation engineer.

#### Identify your iOS Application Identifiers

For the iOS version of your app, you need to provide two unique identifiers:

* **App ID**: The unique numerical ID assigned to your app in the Apple App Store.
* **Bundle ID**: The unique string identifier for your app in the Apple ecosystem, e.g., `com.acme.ios`.

#### Identify your Android Package ID

For the Android version of your app, you must provide the unique application identifier:

* **Package ID**: The unique string identifier for your app in the Google Play Store, e.g., `com.acme.android`.

#### Retrieve your Singular Click Attribution Link

Retrieve your unique Click Attribution Link from your Singular account and share it with your impact.com implementation engineer. The tracking link will be used to attribute traffic coming from impact.com.

1. In Singular, from the left navigation menu, select **Attribution Setup → Manage Links**.
2. Search for “Impact”.
3. Retrieve the impact.com click attribution link.

{% tabs %}
{% tab title="Example" %}
`singularassist.sng.link/D59c0/un48?idfa={AppleIfa}&aifa={GoogAId}&psid={irmpid}&psn={irmpname}&cl={clickid}&pcrn={iradname}&pcid={ircid}&pcrid={iradid}`
{% endtab %}
{% endtabs %}

4. To enable probabilistic matching in Singular, append the param `_smtype=3` to the links.
5. Ensure this link redirects as expected when the user has the app installed, as opposed to not installed.
   {% endstep %}
   {% endstepper %}

### End-to-end testing & event validation

{% stepper %}
{% step %}

### Set up test device(s) in Singular (Optional)

Set up test devices in Singular so that multiple tests can be made from the same device. Refer to [Testing Singular SDK Integration](https://support.singular.net/hc/en-us/articles/360002675072-How-to-Test-Your-Singular-SDK-Integration#Testing_Singular_SDK_Integration) for more information.
{% endstep %}

{% step %}

### Enable mobile fallback

1. Log in to impact.com.
2. Refer to [Create a Text Link Asset](https://help.impact.com/brand/what-would-you-like-to-learn-about/platform-features/ads/create-ads/create-a-text-link-asset) for more information.
3. When creating the asset, only complete the required fields:
   * **Name**: Enter Mobile Test Ad.
   * Set a Default or Custom Landing Page from the ![](/files/JiWIbPyMoIeWpNy8h0ba) **\[Drop-down menu]** and enter the desired Landing Page URL for the asset redirection.
   * ![](/files/nF7DY0rLLPpjNDQb5LMS) **\[Toggle on]** **Mobile Fallback**.
   * If your program is currently active, ![](/files/nF7DY0rLLPpjNDQb5LMS) **\[Toggle on]** **Restrict Partner Access**.
     {% endstep %}

{% step %}

### Generate a test tracking link

1. Log in to impact.com.
2. Refer to [Create Test Actions](https://help.impact.com/brand/what-would-you-like-to-learn-about/platform-features/actions-and-payouts/actions/create-test-actions) for more information.
   {% endstep %}

{% step %}

### Execute the end-to-end conversion test

1. Uninstall your app from your mobile device if it is already installed.
2. Copy and paste the test tracking link in your mobile device’s web browser; the link will direct you to your app store listing.
3. Record the `im_ref` value from the URL in your web browser.
4. Complete a conversion event on your app and record the Order ID and payload parameters.
   * **Recommendations for Sale transactions**: Complete several tests with multiple SKUs, a minimum quantity of 2 for each SKU, and some tests with a promo code & discount, and some without a promo code and discount.
   * **Recommendations for Lead transactions**: Complete several transactions to test variations in payload parameters such as promo codes, notes, or text fields that are relevant to your expected payout conditions.
5. Repeat the process for both iOS and Android devices.
   {% endstep %}

{% step %}

### Validate the end-to-end conversion test

1. Log in to your impact.com user account.
2. From the left navigation bar, select ![](/files/v79QYnijax9BzXLBUhKi) **\[Engage] → Transactions → Test Actions**.
3. Find your test conversion(s) based on the `Order Id` you recorded above.
4. Hover over the transaction and select ![](/files/QIUzi1ogqnG2NvotPFQE) **\[More] → View Details** to open the *Test Event Details* screen.
5. Review the conversion payload details, paying attention to revenue, discounts, product details, and any other element that will potentially affect partner payouts.
6. If all the details are as expected, select **Approve**.
7. If any detail is not correct, select **Reject**.
   * If you reject the end-to-end test result, you’ll need to correct the integration and repeat the end-to-end process for that conversion event until you achieve a successful result.

{% hint style="success" %}
**Note:** It may take up to 30 minutes for a test transaction to surface on the *Test Actions* screen. If your test transaction does not appear on the test transaction screen, contact your implementation engineer.
{% endhint %}
{% endstep %}
{% endstepper %}

### Post-integration validation

Once the solution has been in production for 24 hours:

1. Pull a log file from your backend/eCommerce engine that includes the date, time, time zone, order ID, and conversion revenue amount.
2. Include all revenue-related metrics like tax, shipping, discounts, subtotals, etc.
3. Send the data to your implementation engineer for data validation.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://integrations.impact.com/integration-guides/for-brands/plugin-integrations/mmp-mobile-measurement/integrate-with-singular.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
