impact.com is a global partnership management platform that helps in managing and scaling different partnerships, such as affiliates, influencers, strategic business partners, mobile apps, commerce content publishers, B2B, and more.

Find the open source transformer code for this destination in the GitHub repository.

Getting started

RudderStack supports sending events to impact.com via the following connection modes:

Connection ModeWebMobileServer
Device mode---
Cloud modeSupportedSupportedSupported

Once you have confirmed that the source platform supports sending events to impact.com, follow these steps:

  1. From your RudderStack dashboard, add a source. Then, from the list of destinations, select Impact Radius.
  2. Assign a name to the destination and click Continue.

Connection settings

To successfully configure impact.com as a destination, you will need to configure the following settings:

  • Account SID: Enter the account SID present in the Settings > API option in the impact.com dashboard.
  • API Key: Enter the auth token present in the Settings > API option in the impact.com dashboard.
  • Campaign Id: Enter the campaign ID present in the Account > Programs option in your the impact.com dashboard, as shown:
Campaign ID Impact
  • Impact App Id: Enter the system app ID present in the Settings > Mobile Apps option in the impact.com dashboard.
  • Event Type Id: Enter the ID present in the Settings > Event Type option in the impact.com dashboard.
  • Enable to hash email: Enable this setting to hash the email field in SHA1 format. Keep it disabled in case it is already hashed.
impact.com expects the email field in a hashed format. Otherwise, the events will fail. Hence, if you are sending the email in a plain text format, make sure to enable this setting.
  • Additional parameters mapping: Enter the property mappings from RudderStack to impact.com for any additional parameters (other than the default ones mentioned in the sections below).
  • Custom mapping for Products: Enter the custom property mappings for the products array.
  • Enable Identify Events: Enable this setting to send the identify events.
  • Enable Page Events: Enable this setting to send the page events.
  • Enable Screen Events: Enable this setting to send the screen events.
  • Action Event Names: Enter the list of event names you want to track as user actions.
  • Install Event Names: Enter the list of event names corresponding to the app install events.

Identify

You can send an identify call to impact.com via the PageLoad endpoint. It allows impact.com to update the user identifiers for an accurate correlation.

A sample identify call is shown below:

rudderanalytics.identify("1hKOmRA4el9Zt1WSfVJIVo4GRlm", {
email: "alex@example.com",
});

Property mappings

The following table lists the mappings between RudderStack and impact.com properties:

RudderStack propertyimpact.com property
context.device.idAppleIfv
context.app.nameAppName
context.app.buildAppPackage
context.app.versionAppVer
settings.campaignIdCampaignId
context.traits.email
properties.email
CustomerEmail
userIdCustomerId
anonymousIdCustomProfileId
context.network.carrierDeviceCarrier
context.localeDeviceLocale
context.device.manufacturerDeviceMfr
context.device.modelDeviceModel
context.device.type
context.os.name
DeviceOs
context.os.versionDeviceOsVer
timestamp
originalTimestamp
EventDate
context.device.idGoogAId
context.ipIpAddress
context.page.url
properties.url
context.page.referrer
context.referrer.url
PageUrl
context.referrer.url
context.page.referrer
ReferringUrl
context.userAgentUserAgent
context.device.advertisingIdAppleIfa
At least one of the userId, anonymousId, context.device.id, or context.device.advertisingId parameters is required to make an identify call successfully.

Track

The track call lets you capture user events along with the properties associated with them.

RudderStack sends the track events listed in the Action Event Names and Install Event Names dashboard settings to impact.com using the Conversions endpoint. All the other track events are sent using the PageLoad endpoint.

A sample track call is shown below:

rudderanalytics.track("Order Completed", {
order_id: "1234",
shipping: 22,
tax: 1,
discount: 1.5,
coupon: "ImagePro",
currency: "USD",
products: [{
sku: "G-32",
name: "Monopoly",
price: 14,
quantity: 1,
category: "Games",
brand: "top"
},
{
sku: "G-34",
name: "Monopoly",
price: 16,
quantity: 3,
category: "Games",
brand: "top"
},
],
})

Property mappings

The following table lists the mappings between RudderStack and impact.com properties:

RudderStack propertyimpact.com property
properties.orderId
properties.order_id
properties.transactionID
properties.checkout_id
Required
OrderId
timestamp
originalTimestamp
Required
EventDate
event
Required, if settings.eventTypeId is absent.
EventTypeCode
settings.eventTypeId
Required, if event is absent.
EventTypeId
context.device.adTrackingEnabledTrackingConsent
context.device.advertisingIdAppleIfa
context.device.idAppleIfv
context.app.nameAppName
context.app.buildAppPackage
context.device.idAndroidId
context.app.versionAppVer
settings.campaignIdCampaignId
context.referrer.id
properties.clickId
ClickId
properties.currencyCurrencyCode
context.traits.email
properties.email
CustomerEmail
userIdCustomerId
context.traits.statusCustomerStatus
anonymousIdCustomProfileId
context.network.carrierDeviceCarrier
context.localeDeviceLocale
context.device.manufacturerDeviceMfr
context.device.modelDeviceModel
context.device.type
context.os.name
DeviceOs
context.os.versionDeviceOsVer
context.device.advertisingIdGoogAId
context.ip
request_ip
IpAddress
properties.products[i].brandItemBrand{i}
properties.products[i].categoryItemCategory{i}
properties.products[i].nameItemName{i}
properties.products[i].priceItemPrice{i}
properties.products[i].couponItemPromoCode{i}
properties.products[i].quantityItemQuantity{i}
properties.products[i].skuItemSku{i}
context.location.latitudeLatitude
context.location.longitudeLongitude
properties.discountOrderDiscount
properties.coupon
properties.coupon_id
OrderPromoCode
properties.shippingOrderShipping
properties.taxOrderTax
context.referrer.url
context.page.referrer
ReferringUrl
context.page.url
properties.url
context.page.referrer
context.referrer.url
PageUrl
context.userAgentUserAgent
Apart from the required properties mentioned above, at least one of the context.referrer.id/properties.clickId, userId, anonymousId, properties.coupon/properties.coupon_id, context.device.id, context.device.advertisingId, or context.device.id is required to make a track call successfully.

Page

The page method lets you record your website's page views with any additional relevant information about the viewed page. You can send a page call to impact.com via the PageLoad endpoint.

A sample page call is as shown:

rudderanalytics.page("category", "name", {
path: "path",
url: "url",
title: "title"
}
The property mappings for page call are exactly the same as identify call. Refer to the property mappings section for more details.

Screen

The screen call lets you record whenever your user views their mobile screen, with any additional relevant information about the screen. You can send a screen call to impact.com via the PageLoad endpoint.

A sample screen call is as shown:

[
[RSClient sharedInstance] screen: @ "Sample Screen Name"
properties: @ {
@ "prop_key": @ "prop_value"
}
];
The property mappings for screen call are exactly the same as identify call. Refer to the property mappings section for more details.

FAQ

How can I debug the impact.com errors?

Any errors may arise due to the failed pathing, invalid parameters, authentication errors, and network unavailability. Refer to the impact.com Errors documentation for more information. Additionally, you can also refer to their Rate Limits documentation for more information on the API call limits.


Contact us

For more information on the topics covered on this page, email us or start a conversation in our Slack community.

On this page