Pardot is a Salesforce product and a marketing automation solution that enables organizations to track and measure the effectiveness of their communications, gain insight into user behavior, and personalize content across campaigns based on any specific criteria.
RudderStack supports Pardot as a destination to which you can seamlessly send your event data.
Getting started
Before configuring Pardot as a destination in RudderStack, verify if the source platform is supported by Pardot by referring to the table below:
Connection Mode | Web | Mobile | Server |
---|---|---|---|
Device mode | - | - | - |
Cloud mode | Supported | Supported | Supported |
Once you have confirmed that the source platform supports sending events to Pardot, follow these steps:
- From your RudderStack dashboard, add the source. Then, from the list of destinations, select Pardot.
Connection settings
To successfully configure Pardot as a destination, first authenticate your account by following the below steps:
- Click Create Account in the Account Settings section.
- From the modal, click the Sign in with Google button.
- Choose the required account and grant RudderStack the required permissions.
- Click Save to use the specified account, as shown:
RudderStack gives an error if you try to delete an account used by any other connection set up for the same destination.
Next, configure the following settings:
- Business Unit Id: Your Business Unit ID is the 18 character long string starting with
0Uv
. You can find it in your Salesforce account by following the steps listed below:- Go to Setup at the top right corner and click Pardot.
- Click Pardot Account Setup to obtain the Business Unit ID.
- Campaign Id: You can find the Campaign ID (or piCId) under Marketing > Campaigns in your Pardot account. After selecting the desired website campaign, click View Tracking Code.
12345
is the campaign ID for the campaign URL https://pi.pardot.com/campaign/read/id/12345
.Identify
The identify
call lets you capture the details of a visiting user along with any associated traits such as their name, email address, etc.
A sample identify
call is shown below:
rudderanalytics.identify("userId", { "active_seats": 6, "salutation": "Mr", "firstName": "Alex", "lastName": "Keener", "email": "alex@example.com", "website": "https://www.example.com", "score": 16, "company": "Example Organization", "job_title": "Sales Executive", "department": "Sales", "country": "USA", "address": { "street": "6649 N Blue Gum Street", "city": "New Orleans", "state": "LA", "zip": "00000" }, "phone": "8005550100", "annual_revenue": "100000", "employees": "100", "industry": "Technology sector", "notes": "example notes", "address_two": "example address", "fax": "fax321", "years_in_business": 13, "comments": "good", "is_do_not_email": false, "opted_out": false, "is_reviewed": false, "is_starred": true, "territory": "territory", "campaign_id": 12345}, { externalId: [{ type: "crmfid", // can be pardotid for sending pardot ID id: "crmFidUser", }]});
The following behavior can be observed whenever an identify
call is made through RudderStack:
- RudderStack throws an error if either
email
orexternalId
(crmfid
/pardotid
) is absent. - RudderStack calls the update API if
email
is absent but eitherpardotid
orcrmfid
is present. However, ifpardotid
andcrmfid
are not already linked to a prospect, it throws an error. - RudderStack throws an error if
email
is absent andprospectid
orcrmfid
is entered incorrectly. - If only
email
is present, or Pardot already contains more than one prospect with the same email ID, a new prospect is created as Pardot does not allow write operation on email IDs. - RudderStack considers only the first
externalId
in case of multipleexternalId
.
FAQ
How do I find the crmfid (used for upsert operation)?
You can find the crmfid
(CRM Lead ID) under any Prospect by clicking on Sync with CRM as shown below:
How do I update the prospect data?
To update the prospect data, you need to send a payload that contains externalId
in the payload as shown below:
// Sample payload with `id` data for update{ "externalId": [{ "type": "pardotid" "id": "12345", }]}
type
can contain either of the following fields:- Pardot ID with field name as
pardotid
. - CRM FID with field name as
crmfid
.
- Pardot ID with field name as
id
field contains the actual value.
Can I send the event data to Pardot's Sandbox environment?
Unfortunately, you can currently send the event data only to the Pardot's production environment. Sandbox environments are not supported.
Contact us
For more information on the topics covered on this page, email us or start a conversation in our Slack community.