Salesforce Marketing Cloud Events
Overview
Oracle CrowdTwist integrates with Salesforce Marketing Cloud using realtime API calls to trigger Events. This allows for CrowdTwist actions to trigger actions in Salesforce Marking Cloud in real-time.
NOTE: This requires the client to have their own Salesforce Marketing Cloud / ExactTarget instance.
Data Push Feeds
The following types of data feeds can be enabled:
-
User Profile: Includes creations of new profiles and updates to existing profiles
-
User Activity: Includes data on user activity completions
-
User Redemption: Includes data on user reward redemptions
Integration Setup Process
-
Client creates events in their Salesforce Marketing Cloud instance with names such as CTProfile, CTActivity and CTRedemption.
-
Client generates OAuth Credentials for CrowdTwist platform.
-
Client obtains their Salesforce Marketing Cloud URL, such as https://{salesforce_url}.rest.marketingcloudapis.com.
-
Client configures their integration from within the CrowdTwist Control Center via Integration Hub, selecting the match key between platforms of Email or Third Party ID.
-
If successful, within a few minutes of configuration, events should be triggered in Salesforce Marketing Cloud.
API Endpoint for Authorization
https://[hashed-client-value].auth.marketingcloudapis.com/v2/token
API Endpoint for Event Triggering
https://{salesforce_url}.rest.marketingcloudapis.com/interaction/v1/events
Data Formats
NOTE: All CrowdTwist date formats are converted to MM/DD/YYYY HH:MI:SS, in CST timezone. Example:
10/28/2019 17:51:50
User Profile
SFMC Field Name | CT Field Name | Sample Value | CT Data Type | SFMC Data Type | Description |
---|---|---|---|---|---|
userActivityId |
userActivityId |
12348765 |
Integer |
Number |
Unique ID for the activity completion. |
activityId |
activityId |
198 |
Integer |
Number |
CrowdTwist activity ID |
activityName |
activityName |
added gender |
String (200) |
Text |
Name of the activity performed |
points |
points |
80 |
Integer |
Number |
Number of points earned for the activity; positive for any added activity, negative for reward redeemed |
referenceId |
referenceId |
abc123 |
String (50) |
Text |
CrowdTwist reference ID |
activityExtraData |
activityExtraData |
{“apporderid”:”1”} |
String (4000) |
Text |
Limited to 4000 characters. If longer than 4k, drop last configured attributes until JSON string is less than 4k characters. |
title |
title |
Add Your Gender |
String (150) |
Text |
Title of the activity performed |
description |
description |
Add your gender and earn 50 points |
String (500) |
Text |
Description of the activity performed |
dateCreated |
dateAwarded |
04/22/2018 20:00:00 |
Timestamp |
Timestamp (CST) |
Date/time the activity was performed |
userActivityCustomData |
userActivityCustomData |
|
String (4000) |
Text |
Currently null, included to future proof |
languageId |
languageId |
es |
String (6) |
Text |
Preferred language for the member |
translatedTitle |
translatedTitle |
Agrega tu género |
String (150) |
Text |
Title of the activity performed, in the member’s preferred language (relative to languageId) |
translatedDescription |
translatedDescription |
Agrega tu género y gana 50 puntos |
String (500) |
Text |
Description of the activity performed, in the member’s preferred language (relative to languageId) |
User Activity
SFMC Field Name | CT Field Name | Sample Value | CT Data Type | SFMC Data Type | Description |
---|---|---|---|---|---|
userActivityId |
userActivityId |
12348765 |
Integer |
Number |
Entry Tracking |
activityId |
activityId |
198 |
Integer |
Number |
Data Switch |
activityName |
activityName |
added gender |
String (200) |
Text |
Data Switch |
points |
points |
80 |
Integer |
Number |
Personalization |
referenceId |
referenceId |
abc123 |
String (50) |
Text |
Data Switch |
activityExtraData |
activityExtraData |
{“apporderid”:”1”} |
String (4000) |
Text |
Data Switch & Personalization |
title |
title |
Add Your Gender |
String (150) |
Text |
Personalization |
description |
description |
Add your gender and earn 50 points |
String (500) |
Text |
Personalization |
dateCreated |
dateAwarded |
04/22/2018 20:00:00 |
Timestamp |
Timestamp (CST) |
Timestamp as stored in CT database |
userActivityCustomData |
userActivityCustomData |
|
String (4000) |
Text |
Data Switch & Personalization |
languageId |
languageId |
es |
String (6) |
Text |
Personalization & Data Switch |
translatedTitle |
translatedTitle |
Agrega tu género |
String (150) |
Text |
Personalization |
translatedDescription |
translatedDescription |
Agrega tu género y gana 50 puntos |
String (500) |
Text |
Personalization |
User Redemption
SFMC Field Name | CT Field Name | Sample Value | SFMC Data Type | Description |
---|---|---|---|---|
orderId |
orderId |
101 |
Number |
Unique order ID of the redemption |
orderDate |
orderDate |
03/23/2017 19:00:00 |
Timestamp (CST) |
Date the redemption was performed (unix timestamp) |
rewardId |
rewardId |
947563 |
Number |
Id of the unique reward. When a reward has multiple sizes/colors, each will have a unique rewardId. |
rewardGroupId |
rewardGroupId |
12345 |
Number |
Group the reward is in. When a reward has multiple sizes/colors, they will all share the same rewardGroupId. |
categoryName |
category |
Gift Cards |
Text |
Category of the reward. |
title |
title |
$20 Gift Card |
Text |
The title of the reward. |
referenceId |
referenceId |
null |
Text |
The reward reference ID |
rewardExtraData |
rewardExtraData |
null |
Text |
Limited to 4000 characters. If longer than 4k, drop last configured attributes until JSON string is less than 4k characters. |
totalPointsRedeemed |
totalPointsRedeemed |
10 |
Number |
Total points redeemed by user for reward |
redeemablePoints |
redeemablePoints |
2000 |
Number |
Members balance after redemption |
quantity |
quantity |
1 |
Number |
Number of reward redeemed |
couponCode |
couponCode |
456789ZXCVBNM |
Text |
If code reward – array of codes distributed for redemption |
shippingFirstName |
shippingFirstName |
null |
Text |
If required by reward – first name to whom the reward will be shipped |
shippingLastName |
shippingLastName |
null |
Text |
If required by reward – last name to whom the reward will be shipped |
shippingStreetAddress1 |
shippingStreetAddress1 |
null |
Text |
If required by reward – street address of destination the reward will be shipped |
shippingStreetAddress2 |
shippingStreetAddress2 |
null |
Text |
If required by reward – additional address info of destination the reward will be shipped |
shippingCountry |
shippingCountry |
null |
Text |
If required by reward – country of destination the reward will be shipped |
shippingState |
shippingState |
null |
Text |
If required by reward – state of destination the reward will be shipped |
shippingCity |
shippingCity |
null |
Text |
If required by reward – city of destination the reward will be shipped |
shippingPostalCode |
shippingPostalCode |
null |
Text |
If required by reward – zip code of destination the reward will be shipped |
shippingPhoneNumber |
shippingPhoneNumber |
null |
Text |
If required by reward – phone number of user redeeming reward |
redemptionCustomData |
redemptionCustomData |
null |
Text |
Extra data unique to the specific. Limited to 4,000 characters, if longer will be trimmed to 3997 and appended with “…” *(included to future-proof for adding values in future release) |
languageId |
languageId |
es |
Text |
Preferred language for the member |
translatedTitle |
translatedTitle |
Tarjeta de regalo de $ 20 |
Text |
Title of the reward redeemed, in the member’s preferred language (relative to languageId) |