Skip to main content

Salesforce Marketing Cloud integration

The following section outlines how to get started with a Rokt Calendar and Salesforce Marketing Cloud integration.

Rokt Calendar and Salesforce Marketing Cloud integration setup#

Rokt Calendar is a dynamic marketing technology that enables partners to push 1:1 events and promotional communications in the form of calendar event notifications across a proprietary network of calendars. You can access Rokt Calendar’s services through the Salesforce Marketing Cloud AppExchange. From here you can send calendar events to an audience through the Salesforce Marketing Cloud Journey Builder.

Salesforce Marketing Cloud Journey Builder

Through the integration, Rokt Calendar subscribers and associated data can be pushed into the Salesforce Marketing Cloud. Data from Rokt are added to Salesforce Marketing Cloud contact profiles as custom attributes. If there is no match between the calendar subscriber and the Salesforce Marketing Cloud contact, a new user is created in Salesforce Marketing Cloud.

You can use the Salesforce Marketing Cloud Journey Builder to define journeys while using the calendar as a communication channel, much in the same way that SMS, emails, and push notifications are regularly used. Audience segmentation can be done on any of the standard Salesforce Marketing Cloud contact attributes, as well as the custom attributes generated through the calendar subscription. Use the Rokt Calendar custom activity to create a calendar event and define its contents.

Setup requirements#

RequirementOriginWhoDescription
Rokt Calendar accountRokt CalendarRokt Calendar account managerA client-specific Rokt Calendar account will be set up; contact calendar-support@rokt.com to speak with an account manager.
Rokt Calendar OAuth credentialsRokt CalendarRokt Calendar account managerA Rokt account manager provides the Rokt Calendar OAuth client ID and Rokt Calendar OAuth client secret
Calendar setupRokt CalendarRokt Calendar account managerA calendar will be set up to reflect the needs of the client:

- Merge flag
- subscriberid fallback
- Email capture, if needed
Webhook setupRokt CalendarRokt Calendar account managerAdd the Salesforce Marketing Cloud webhook type to the Rokt Calendar management center using the Salesforce Marketing Cloud Account ID. This is found in the Salesforce Marketing Cloud and should be provided by the Salesforce Marketing Cloud administrator.
Web API OAuth2 tokenRokt CalendarRokt Calendar account managerThis allocates the account with the necessary permissions to communicate with the Salesforce Marketing Cloud.
External subscriber IDClientClientThis is the identifier used by the Rokt Calendar subscription process to match the calendar subscriber with the Salesforce Marketing Cloud contact key. This is passed by the client during the subscription process to the Rokt Calendar.
Salesforce Marketing Cloud accountClientClientA Salesforce Marketing Cloud account is required.
App install linkRokt CalendarRokt Calendar account managerA link that installs the Rokt Calendar application into the client’s Salesforce Marketing Cloud account.

Installing the Rokt Calendar app in Salesforce Marketing Cloud#

  1. Navigate to the Salesforce Marketing Cloud AppExchange.
  2. Search for "Rokt Calendar".
  3. Click on the listing for Rokt Calendar and select Get it Now.
  4. Fill in your contact information.
  5. We’ll get in touch to discuss your new Rokt Calendar account and provide a link to install the application.
  6. Click on the link you receive and log in to your Salesforce Marketing Cloud account.
  7. Rokt Calendar is installed and ready to use in Salesforce Marketing Cloud.

Installing the App

Updating the app settings#

Follow the steps below to update your app settings.

  1. Log in to your Salesforce Marketing Cloud account.

  2. Navigate to AppExchange > Rokt Calendar.

    Updating the App Settings

  3. Go to the App Settings tab.

  4. Select the pencil icon to edit settings.

  5. Copy and paste the following data, provided to you by a Rokt account manager, into the related fields:

    1. Rokt Calendar account ID
    2. Rokt Calendar OAuth client ID
    3. Rokt Calendar OAuth client secret
  6. Specify which account you want to use to make API calls between Rokt and Salesforce. Save your changes.

    Updating the App Settings

Installing data extensions#

Installing data extensions prepares the Salesforce Marketing Cloud account to receive subscription-related data and store it in the correct manner.

  1. Log in to your Salesforce Marketing Cloud account.
  2. Navigate to AppExchange > Rokt Calendar.
  3. Click Settings.
  4. Scroll down to Data Extensions.
  5. Click Install.

Installing Data Extensions

Linking data extensions#

Linking the Rokt Calendar subscription data extension with the contact data extension creates a relationship between the two, allowing subscription data to be matched to an existing contact or to create a new contact. If a subscriber cannot be matched with a Salesforce Marketing Cloud contact then an administrator can analyze the data and try to deduplicate or merge contacts as they see fit.

  1. From you Salesforce Marketing Cloud account, go to Audience Builder > Contact Builder.

Linking Data Extensions

  1. Select Create Attribute Group.

Linking Data Extensions

  1. Name your group and select an icon.

Linking Data Extensions

  1. Click Link Data Extensions.

Linking Data Extensions

  1. Go to Data Extensions > Rokt Calendar > Calendar Subscription.
  2. Under Customer Data, map Contact Key to SubscriberExternalId under your Rokt Calendar attribute group. This allows the external subscriber ID to be matched against existing contacts by contact key. If the subscriber cannot be matched to a contact, then the Salesforce Marketing Cloud administrator can manually match contacts to subscriptions if needed.

Linking Data Extensions

Subscription attributes#

Using subscription-related custom attributes for segmentation#

You can only send calendar events to contacts that have a Rokt Calendar subscription record stored against them. As a result of the calendar subscription, custom attributes are stored against the contact. These are noted in the table below and can be used to segment the audience.

Custom attributeDefinition
accountCodeCode of the Rokt Calendar account
accountIdID of the Rokt Calendar account
accountNameName of the Rokt Calendar account
calendarCodeCode of the Rokt Calendar event
calendarIdRokt Calendar ID
CalendarSubscriptionIdThe Rokt Calendar generated subscription ID, serving as a unique identifier, related to the created subscription
calendarTitleTitle of the Rokt Calendar event
countryCodeCountry code related to the created subscription
deviceNameDevice type related to the created subscription
EmailThe email address entered by the user during the subscription process
EventIdID of the Rokt Calendar event
geoCountryCountry of origin related to the created subscription
optIn1If the user has opted in to the first of two opt-ins related to the created subscription
optIn2If the user has opted in to the second of two opt-ins related to the created subscription
ReferrerThe URL referrer of the user, used for analytics; the place from where the subscriber navigated to the calendar page
RemovedDateTimeDate and time of the user unsubscribing from the calendar
sourceThe source of the created subscription
SubscriberExternalIdIdentifier that represents the subscriber for the account, as received from a third party system (e.g., email address, device ID, anonymous ID)
subscriptionMethodSubscription method (e.g., webcal/Google) related to the created subscription
TimeZoneTagTime zone to filter events; if used, the subscription includes events that are tagged with this time zone and any events that are not tagged with a time zone.
tagIDCalendar tags related to the created subscription
TagTextUsed to group similar events—for example all events that belong to the same sporting team can be tagged with a team name
UtmCampaignValue used to identify the referring subscriber campaign
UtmContentValue used to identify the referring subscriber content
UtmMediumValue used to identify the referring subscriber medium
UtmSourceValue used to identify the referring subscriber source

Growing calendar subscriptions#

Using Rokt Calendar to build an audience of calendar subscribers#

To send calendar events from the Salesforce Marketing Cloud Journey Builder using the Rokt Calendar integration, you must set up a calendar and have established subscribers.

To do this, you need to inform your users where and how to subscribe to the calendar.

RequirementOriginWhoDescription
Rokt Calendar account setupRokt CalendarRokt Calendar account managerA client specific Rokt Calendar account needs to be set up. Contact sales-calendar@rokt.com to speak with an account manager.
Calendar setupRokt CalendarRokt Calendar account managerWork with your account manager to set up a calendar that meets the needs of your business.
Provide subscription integration pointsClientClientTo build an audience of calendar subscribers, you need to offer a destination that the user can navigate to and from where they can subscribe to the calendar.

Examples of common subscription integration points include:
- Add to calendar button on your website
- Add to calendar button on your app
- Add to calendar link in an email or SMS
- Add to calendar link on social media

Learn more here.
Promote the calendarClientClientYou should consider promoting the calendar to your audience so that they know how to subscribe.

Calendar promotion examples:
- Posts on social media
- Email newsletters and updates
- Blog posts
- In-app notifications

Learn more here.

Implementation guide: Rokt Calendar and Salesforce Marketing Cloud#

After your Rokt Calendar application has been installed, you are ready to start using Rokt Calendar in Salesforce Marketing Cloud.

Rokt Calendar & Salesforce Marketing Cloud Data Flow

1. Onboarding calendar subscribers#

To use the calendar as a communication channel, you must have an existing audience of calendar subscribers. To communicate with the audience as well as generate new subscribers, we recommend using the Salesforce Marketing Cloud Journey Builder.

Rokt Calendar & Salesforce Marketing Cloud Data Flow

What is the Salesforce Marketing Cloud Journey Builder?#

The Salesforce Marketing Cloud Journey Builder is a campaign planning tool that empowers marketers to design and automate campaigns that guide customers through a journey with their brand. When configured, Journey Builder runs responsive campaigns automatically.

The foundation of Journey Builder is the journey—the customer communication plan designed by a marketer. The activities set by the marketer tell Journey Builder how to communicate with contacts in the journey. The journey continually evaluates contacts to determine when to move them to the next activity.

Communicating with an existing Salesforce Marketing Cloud audience#

To communicate with an existing audience, start by creating a new journey in the Salesforce Marketing Cloud Journey Builder and use the available communication methods to generate new calendar subscribers. It’s recommended that you communicate the purpose of the calendar, the benefits, and how to subscribe.

Campaign communication methods#
MethodOriginDescription
EmailSalesforceSend an email that explains the calendar subscription with a link directing the user to where they can subscribe to the calendar.
SMSSalesforceSend an SMS that explains the calendar subscription with a link directing the user to where they can subscribe to the calendar.
Push notificationSalesforceSend a push notification that explains the calendar subscription with a link directing the user to where they can subscribe to the calendar.

Where and how to subscribe#

Your communication should direct the customer to a destination where they can subscribe to a relevant calendar. You can work with your Rokt account manager to discuss your business context and needs to determine the most appropriate subscription method.

Subscription integrations#

Listed in the table below are the various ways for an audience member to subscribe to a calendar.

Integration methodSystemContactDescription
Rokt Calendar SmartCal pageRokt CalendarRokt Calendar account managerThis is the Rokt Calendar page:

- Hosted by Rokt—no setup required
- Embedded into a page on your website—minimal setup required
Rokt placement
Coming soon
RoktRokt account managerThe placement offers add to calendar functionality, enabling the user to subscribe to the relevant calendar. The Rokt placement can be presented:

- Pre-transaction
- Post-transaction
- Independently of a transaction as a standalone option (e.g., on a product page)

This requires adding the Rokt tag to your website and ensuring the relevant data is passed
Rokt Calendar APISalesforce Marketing CloudSalesforce Marketing Cloud account managerThis requires integration work from your development team

Matching calendar subscribers to Salesforce Marketing Cloud contacts#

When a new calendar subscriber is generated, the subscription data is sent to the Salesforce Marketing Cloud. A critical piece of this integration is the ability to assign subscription data to a Salesforce Marketing Cloud contact (if the contact exists). This process is part of the automated passing of data from Rokt Calendar to the Salesforce Marketing Cloud, resulting in richer contact profiles with more segmentation variables.

The matching is based on a unique identifier common to the calendar subscription and the Salesforce Marketing Cloud contact key. The identifier is defined by the client, based on what is already in use or intended to be used to match against the contact key.

Matching Calendar Subscribers to Salesforce Marketing Cloud Users

Possible scenarios#
ContextSubscriber vs. contactRequirements
You are an existing Rokt Calendar and Salesforce Marketing Cloud client. Specifically, your calendar has subscribers and your Salesforce Marketing Cloud account has contacts that pre-date the use of the Salesforce Marketing Cloud integration (i.e., client has independent existing relationships with both Rokt Calendar and Salesforce Marketing Cloud).- Calendar subscribers exist
- Salesforce Marketing Cloud users exist
- Matching an identifier at the subscription level to Salesforce Marketing Cloud contact identifier (e.g., email).
- A data transfer of subscription data from Rokt Calendar to Salesforce Marketing Cloud contact record before go-live.
You are an existing Salesforce Marketing Cloud client. Specifically, you do not use Rokt Calendar and your Salesforce Marketing Cloud account has existing contacts (i.e., client has an existing relationship with Salesforce Marketing Cloud only).- No calendar subscribers
- Salesforce Marketing Cloud users exist
As the subscribers are new, an agreed identifier, common to Salesforce Marketing Cloud users is used.
You are not a Rokt Calendar or Salesforce Marketing Cloud client. Specifically, the calendar has no subscribers and the Salesforce Marketing Cloud account has no contacts that pre-date the use of the Salesforce Marketing Cloud integration (i.e., client has no existing relationship with Salesforce Marketing Cloud or Rokt Calendar).- No calendar subscribers
- No Salesforce Marketing Cloud users
As both calendar subscribers and Salesforce Marketing Cloud contacts are net new, an agreed identifier is assigned to the calendar subscription and Salesforce Marketing Cloud contact.
Using a unique external subscriber ID#

A subscriber ID is used to uniquely identify the subscriber when they are created and subsequently flow through to other systems like Salesforce Marketing Cloud. The subscriber ID can be passed during the subscription process by appending the subscriber ID to the calendar URL, for example test.Rokt Calendarapp.com/calendar1?subscriberid=1938d736.

For Salesforce Marketing Cloud, the external subscriber ID needs to match the Salesforce Marketing Cloud contact key as it exists in the contact record. Note that the subscriber ID is easily appended to the calendar URL if the client is launching the calendar page on their own asset where the user is known, usually through a logged-in or known user experience. If the user is not logged in—i.e., not known—then you can use the email capture functionality for the calendar, which allows the subscriber to enter an email as part of the subscription process. This then becomes the subscriber ID and is used to match a subscriber to a record in another system. Note that in this case, the subscription record is not matched against the contact in the Salesforce Marketing Cloud (as this can only be done automatically using the contact key) and a new contact is created. It is then possible to merge contact profiles based on email address, but this needs to be addressed outside of Salesforce Marketing Cloud by a system user.

Data matching outcomes#
ResultsDetails
Match existsA match exists between calendar subscriber and Salesforce Marketing Cloud contact. The subscription data is added to the Salesforce Marketing Cloud contact record.
No match existsNo match exists between calendar subscriber and Salesforce Marketing Cloud contact. A new Salesforce Marketing Cloud contact record is created with the subscription data.

2. Creating Salesforce Marketing Cloud audience segmentation#

A common way to admit contacts into a journey is from a sendable data extension.

To admit contacts, create a sendable data extension, and add or import contacts. Once the contacts are added, you need to configure an entry source to detect any changes and determine the Journey Builder’s next course of action.

For each journey, there must be an entry source as this communicates to the Salesforce Marketing Cloud Journey Builder where customers, who’ve entered the journey, have come from. The entry source lets you choose a sendable data extension, then admit contacts in that data extension into a journey in a batch. You can configure a filter to control which contacts enter or admit all contacts at once. You can also set a schedule to determine when contacts are admitted. The schedule controls whether the data extension is used once or reevaluated to admit more contacts. Scheduling options include run once, recurring, and automation.

Automation Studio custom data extensions can be created with the SQL query tool. Assistance from an IT administrator or technical resource is often helpful to set up the Contact Builder contacts model and audience segmentation filters used by Journey Builder.

3. Inserting entry source fields#

When defining the calendar event in Journey Builder, entry source fields replace the data source string in the event the matching attribute value is found in journey data. This means that each entry source string is replaced with the specified attribute value as it exists when the contact enters the journey. Using journey data to substitute strings for data values ensures that events are not sent with blank or unintended data values. For example, an event field that contains {{CalendarName}} replaces the content in the {{ }} with data from the entry source of the journey.

4. Sending calendar events as a communication method#

Sending Calendar Event as a Communication Method

Creating a new event or selecting existing event#

Learn how to send a calendar event as a communication method in the Salesforce Marketing Cloud.

  1. Create a new journey.

  2. Define the steps in the journey.

  3. Drag and drop the Rokt Calendar Event onto the journey.

  4. Create a new event or choose an existing event.

  5. Activate the journey.

    Once the journey reaches the step that sends out calendar events, Salesforce Marketing Cloud communicates with Rokt Calendar to update the users’ calendars who are part of the audience.

Calendar reminders and optimizing the lock screen#

When a subscriber receives an event reminder, the style of the alert differs depending on the device used. The purpose of the reminder is to alert the user that an event is beginning, as well as to prompt the user to take follow up action. The content of the reminder—a combination of the event title and location—determines the effectiveness of the user engagement.

Calendar Reminder & Optimizing the Lock Screen

Calendar lock screen best practices#
  • Include emojis before and after the event title to distinguish the event on the lock screen
  • Include first name in the event title to increase personalization
  • Include partner name in the event title to solidify brand awareness
  • Increase urgency in the location field with phrases such as swipe now, last chance, don’t miss, don’t forget, and stay updated.
  • Include a link in the location field to drive engagement into the calendar event card
Event card description best practices#
  • Add trackable links back to partner website, app download, or social media pages
  • Add trackable links to any other relevant link or KPI of the partner
  • All links should include a UTM source code (e.g., utm_source=RoktCalendar)

Performance measurement#

You can gain an understanding of how well your calendar communications are doing through performance measurement. Performance measurement takes into account two types of data: subscription data—which lives in Rokt Calendar—and engagement data—which lives in a variety of places. You can reach out to your account manager to further define reporting requirements and schedules.

Data typeSourceDetails
Subscription dataRokt Calendar- Subscription created
- Individual events added (coming soon)
- Individual events removed (coming soon)
- Individual events updated (coming soon)
- Unsubscribe (whole calendar)
Engagement dataRokt Calendar, client’s analytics- Rokt Calendar engagement calculation
- Trackable links (client defined)
Journey performanceSalesforce Marketing CloudSalesforce Marketing Cloud journey analytics

Support#

Need more help? Contact calendar-support@rokt.com

Was this article helpful?