Integrate with Salesforce

B2B SaaS brands can use Salesforce and impact.com together to monitor and track conversion events, like sales leads and business opportunities. With flexible mapping abilities, performance marketers can easily identify specific conditions and trigger a conversion event, enabling them to use the contracting & commissioning features of the impact.com platform to payout partners for these events.

Salesforce and impact.com works in both directions, meaning you can use impact.com to set up a hosted widget that captures B2B SaaS Leads, Opportunities, Contacts and Accounts from your partners and automatically send them to Salesforce via an API integration. If those leads and opportunities turn into potential deals or completed sales, or if contacts go through meaningful milestones or stages, you can use our Salesforce integration to capture those changes as conversion events and send them to impact.com via this integration.

How it works

  • With a few clicks, verify that your impact.com account is ready to go for the Salesforce integration, making adjustments to a few account settings as necessary.

  • Then, you'll install the impact.com package in Salesforce and configure a few settings.

  • Once configured, you can customize the data parameter mapping to establish which events from Salesforce you want impact.com to track and report on.

📘

Beta Integration

Currently this is a beta integration that supports the following Salesforce objects:

  • Leads
  • Opportunities
  • Contacts
  • Accounts

Integration Prerequisites


Lead submission tracking via impact.com or Salesforce

Track leads via impact.com

Lead submissions can be tracked using the Impact Universal Tracking Tag (UTT), which is a small piece of JavaScript code that can be loaded using a Tag Manager solution, or placed manually on your website. Using the UTT offers richer user-level reporting in Impact, supports Optimize, Direct Tracking features, and more. If you're planning to track lead events using the UTT, the Customer ID value sent via the TrackConversion function must also be available to the Salesforce objects that are being monitored and reported on. In other words, Salesforce needs to receive a Customer ID value in order for the integration to accurately correlate events.

Refer to the account setup steps below to ensure your account is configured correctly.

Track leads via Salesforce

Lead submission can also be tracked through Salesforce. Impact appends an irclickId parameter + dynamic value (per click) on your landing page URLs. Example link: yourdomain.com?irclickid=clickid123. The clickId value (clickid123) must be captured and stored. When the user submits the lead form, the clickId value must be sent in a hidden field to Salesforce. There must be a consistent ID available in Salesforce objects that are being monitored and reported on to send in the CustomerId parameter.

Account setup

Follow the prerequisite steps below to ensure their account is ready for the integration. At a high level, these include:

  1. Verify that a couple key account settings are properly configured.
  2. Confirm that your account is ready for the Salesforce integration, and make adjusts if needed.
  3. Establish a unique customer identifier (e.g., `customerId`) that persists across all entities that need to be tracked — from when a new lead is tracked, to when it becomes an opportunity, etc.

Step 1: Gateway Tracking Setup

View Step 1… Complete both parts of this before moving on to Step 2.

☑️

Campaign Tracking Template (irclickid)

Appends a dynamic Click ID value to tracking links so that impact.com can accurate attribute actions. Make sure your account is configured exactly as below, otherwise your integration could break.

  1. From the left navigation bar, select Vertical Ellipsis → Settings.

  2. In the right column, select Gateway.

  3. Find the Campaign Tracking Template line item. Confirm it's configured exactly identical to the screenshot below (irclickid = {clickid}):

  4. Select Save.

☑️

Configure Deep Linking

Confirm that your website and store domain(s) are configured for deep linking, which enables partners to link traffic directly to specific pages of your site.

  1. From the left navigation bar, select Vertical Ellipsis → Settings.

  2. In the right column, select Gateway.

  3. Find the Deep Linking line item and configure the following domains under Permitted Domains, replacing example.com with your exact domains — do not use spaces between commas:

Step 2: Confirm your Tracking Integration

View Step 2… Your impact.com will be configured with 5 Event Types, which track events in the different stages (or statuses):
  • Submitted Lead
  • Unqualified Lead
  • Qualified Opportunity
  • Lost Opportunity
  • Signed Contract

☑️

Event Codes

  1. From the left navigation bar, select → Settings
  2. In the right side column, go down to the Tracking section and select Event Types.
  3. On the Event Types screen, hover your cursor over the right-most column and select
    → View/Edit.
  4. On the Edit Event Type screen, find the Codes field.
  5. Enter an Event Type Code that is exactly equal to the name of the lead status or opportunity stage in Salesforce, with the object type followed by underscore as a prefix (e.g., If the opportunity stage in Salesforce is named "Demo Requested", set the Code to be opportunity_Demo Requested).
  6. Select Save.

☑️

Confirm Lead Submitted as "Parent" Event

  1. From the left navigation bar, select [Menu] → Settings
  2. In the right side column, go down to the Tracking section and select Event Types.
  3. On the Event Types screen, find the Lead Submitted event type, hover your cursor over the right-most column and select
    [More] → View/Edit.
  4. On the Edit Event Type screen, select Show advanced settings.
  5. Find Parent Action and select
    [Button Toggle] to enable it.

☑️

Confirm "Child" Event Types

Once the Lead Submitted event type is marked as the parent, the remaining events can be assigned as child events to that. Each event corresponds to the order in your funnel, and should be ranked accordingly.

  1. From the left navigation bar, select [Vertical Ellipsis] → Settings
  2. In the right side column, go down to the Tracking section and select Event Types.
  3. On the Event Types screen, find the event type to mark as a child, hover your cursor over the right-most column and select
    [Menu] → View/Edit.
  4. On the Edit Event Type screen, select Show advanced settings.
  5. Find Required Parent Action. Select Lead Submitted as the required parent.
  6. Select Save.

☑️

Confirm Funnel Reporting

Confirm the correct funnel for the event types.

  1. From the left navigation bar, select [Vertical Ellipsis] → Settings

  2. In the right side column, go down to the Tracking section and select Event Types.

  3. On the Event Types screen, find the event type to assign a funnel position, hover your cursor over the right-most column and select
    [More] → View/Edit.

  4. On the Edit Event Type screen, select Show advanced settings.

  5. Find Funnel Reporting, and select
    [Button Toggle] to enable it.

  6. In the Funnel Report Column Order, use the Dropdown Menu to select the correct order for a given event type. A typical funnel might be:

    • [1] Lead Submitted
    • [2] Unqualified Lead
    • [3] Qualified Opportunity
    • [4] Lost Opportunity
    • [5] Signed Contract

    The specific funnel order is unique to you and should be based on how your existing events/conversion funnel works in Salesforce.

  7. Select Save.

Step 3: Establish a Customer Identifier

View Step 3… As part of your tracking integration, you'll need to generate a unique customer ID value across each event type to be tracked.
  • If you're using the impact.com UTT tracking integration, learn more about the identify function — your lead form site will need to generate a unique Customer ID value that's passed when a potential lead submits the form, and this value needs to be passed across each event type as the lead progresses towards a "Signed Contract" final state in order to ensure that it's the same customer and the partner that referred them receives credit.

  • If you're tracking via API, refer to the Conversion object reference documentation — your lead form site will need to generate a unique Customer ID value that's passed when a potential lead submits the form, and this value needs to be passed across each event type as the lead progresses towards a "Signed Contract" final state in order to ensure that it's the same customer and the partner that referred them receives credit.

Installation


Step 1: Install the impact.com package to Salesforce

Only Salesforce System Administrators should install and configure the impact.com package.

Install impact.com

  1. Visit the impact.com Partner Manager Salesforce AppExchange page.
  2. Select Get It Now.

  1. Follow the on-screen instructions to get the impact.com app installed.
  2. If you experience any issues installing from the AppExchange, please use this direct link instead.

Step 2: Configure your impact.com credentials in Salesforce

You'll need your impact.com Account SID, Auth Token, and Program ID.

Add impact.com account credentials

  1. In your Salesforce account, navigate to the Impact Setup tab.
  1. In the tab, input the required fields:

    Account DataDescription
    Impact Account SID*Navigate to
    → Settings → API to find your Account SID. Copy the full case-sensitive value.
    Auth Token*Navigate to
    → Settings → API to find your Auth Token. Copy the full case-sensitive value.
    Program ID*Enter your Program ID value (a.k.a Campaign ID value). To find this value, select your brand name in the top left corner of Impact. Your Program ID is shown in gray type under your Program name in the Program column.
  2. Select Save.

Step 3: Establish Impact Monitoring

In this step you'll identify which conditions in Salesforce need to occur in order for impact.com to track it as a conversion event.

Set up impact.com monitoring conditions

  1. In the Impact Integration app in Salesforce, select the Impact Monitoring tab.
  1. Under the Enable sending events when records are created section, use the toggles to choose which events will trigger a conversion event in Impact when a record is created in Salesforce for that object.

  2. Under the Enable sending events when records are updated section, use the toggles to choose which events will trigger a conversion event in Impact when an object's record is updated in Salesforce.

  3. Under the Record multiple field changed section, select the fields that you want a conversion event to occur for when they're updated.

    The multiple field selections act as an OR statement — for example, if Lead Status and Lead Source are selected for an object, a conversion event is created whenever either field is modified.

Step 4: Configure Salesforce & impact.com data mappings

This step is where you'll configure a map of which Salesforce data parameters map to their equivalent impact.com data parameters. This step is key in ensuring the data you send from Salesforce is accurate for conversion reporting.

When a Salesforce field is mapped to an impact.com field, the data in that field will be reported to impact.com in the conversion data.

The instructions below apply to Lead, Opportunity, and Contact objects.

Add a mapping

  1. In the Impact Integration app in Salesforce, select the Impact Mappings tab.
  2. Refer to the data mappings reference tables below for details.
  3. Under Salesforce Field, use the dropdown menu to select a Salesforce object field.
  4. Under the Impact Field, use the dropdown menu to select an impact.com data field.
  5. Select Add.

Remove a mapping

  1. In the Impact Integration app in Salesforce, select the Impact Mappings tab.
  2. Select the section (e.g., Leads, Opportunities, etc.) that you want to remove a data mapping from.
  3. In the list of existing data mappings, find the one you wish to delete and select Remove.

Removing a data mapping will no longer report that field to impact.com — be careful, as this can alter your conversion reporting.

Data Mapping Reference

Salesforce Lead

Replace $STATUS with the actual status value for the lead.

Object Fieldimpact.com data field
Lead_$STATUSEventTypeCode
IDCustomerId
Lead_$STATUS_IDOrderId
LastModifiedDateEventDate
CompanyText3
CityCustomerCity
CountryCustomerCountry
PostalCodeCustomerPostCode

Salesforce Opportunity

Replace $STAGE with the actual stage value for the opportunity.

Object Fieldimpact.com data field
Opportunity_$STAGEEventTypeCode
IDCustomerId
Opportunity_$STAGE_IDOrderId
LastModifiedDateEventDate
CloseDateDate3
ProbabilityText2
AmountOrderSubTotalPostDiscount

Salesforce Products

Object Fieldimpact.com data field
Product_NameItemName1
Product_ProductCodeItemSku1
Product_QuantityItemQuantity1
Product_UnitPriceItemPrice1
Product_DescriptionItemCategory1
Product_TotalPriceItemSubTotal1

Salesforce Contact

⚠️

Note

Contact object mapping is customizable and impact.com recommends that you map according to your use case. The table below is neither suggested nor required, but an example.

Object Fieldimpact.com data field
LeadSourceEventTypeCode
Contact IDCustomerId
Contact_[Contact ID]OrderId
LastModifiedDateEventDate

Salesforce Account

Object Fieldimpact.com data field
IdOrderId
CreatedDateEventDate