About
This article will walk you through how to set up Marketo for Kaltura data sharing integration.
Channel setup
To allow Kaltura to update the program status, you will need to map the different statuses to your Marketo event channel. Create an event program channel (see Marketo documentation). Add/map the following Kaltura statuses and map them to your system mapping:
Status | Step | Success? |
---|---|---|
Created | 10 |
|
Invited | 20 |
|
Registered | 30 | Yes |
Confirmed | 40 | Yes |
autoConfirmed | 40 | Yes |
Attended | 50 | Yes |
Participated | 60 | Yes |
Blocked | 70 |
|
Un-registered | 80 |
|
Important Note -
For the Marketo integration third party mapping, Kaltura passes the most granular/detailed status information available. (See the list of statuses shown below.) For example, what displays as "Registered" on the Kaltura Events user interface, is displayed in more granularity on Marketo as "Confirmed email" or "Registered no confirmation required". Marketers can harness this granularity to send appropriate emails before, during, and after the event.
List of statuses displayed on Marketo:
SSO login
Invited by team member (displayed as "Invited" on Kaltura Events user interface)
Invited by team member to register (displayed as "Invited" on Kaltura Events user interface)
Registered
Confirmed email (displayed as "Registered" on Kaltura Events user interface)
Registered no confirmation required (displayed as "Registered" on Kaltura Events user interface)
Pre-event visit (displayed as "Attended" on Kaltura Events user interface)
During-event visit (displayed as "Attended" on Kaltura Events user interface)
Blocked
Un-registered
Program setup
To allow Kaltura to update the program with members/leads and their registration info and attendance status, create an event program (see Marketo documentation). Make sure to use event type and select the channel created above.
Authentication with Marketo
To allow Kaltura to automatically share data with your Marketo accounts, your Marketo Admin is required to authenticate their Marketo with Kaltura’s Marketo integration.
To authenticate, you will need the Marketo API endpoint domain, client ID, and client secret.
How to get the API endpoint domain
On Marketo, go to Admin > Web Services and copy the Rest API endpoint, but do not include the ‘/rest' or '/identity’ part at the end of the URL.
Please be aware that it is mandatory to include https:// at the beginning of the auth input, when filling in the 'API Endpoint Domain' field. Without this, your authentication will fail.
How to get the Client ID / Secret
You need to have an API role and user on your Marketo instance, and create an Installed Service in Launchpoint. Refer to the Marketo docs for more details.
The API user will need to have access to the following permissions for the integration to be set up:
- Access API > Read-Write Person
- Access API > Read-Write Activity
- Access API > Read-Write Activity Metadata
- Access API > Read-Write Assets
- Access API > Read-Write Campaigns
If you already have an API user and installed service, you can find the client ID and client secret at Admin > Launchpoint > View Details. Make sure the above permissions are enabled for your user.
Setup of custom objects
If you are an existing user and you had already configured Custom activities, it is not mandatory for you to set up custom objects, but it is recommended.
Refer to the Marketo docs to learn more Custom Objects, to learn how to create Custom Objects, and how to add Custom Object fields.
Complex data is handled through the use of custom objects. Kaltura uses custom objects to track metrics specific to your business (as filters and triggers in your smart campaigns).
Use the following table to create the Custom Objects in your Marketo account according to the Marketo documentation.
To get Kaltura Events user engagement data, you must create a new custom activity and name it "kalturaUserSessionEngagement". You may then add the following custom activity fields as desired.
Custom Object Name: kalturaUserSessionEngagement
Field | Data Type | Description |
---|---|---|
entry_id (*Primary) | string | The ID of the Kaltura entry which was watched |
entry_name | string | The name of the Kaltura entry which was watched |
personId | link | The ID for linking the lead to any activity they have performed
|
string | The email of the user who attended the session. | |
user | string | Kaltura User ID |
channel_id* | integer | The id of channel the content was consumed from |
channel_name* | string | The name of the channel the content was consumed from |
plays | integer | Number of plays |
vod_minutes_viewed | float | Amount of minutes vod content was consumed |
live_minutes_viewed | float | Amount of minutes live content was consumed |
total_vod_completion_rate | float | Vod content completion rate |
no_live_engagement_rate | float | Percentage of viewing time that the tab is not in focus, player is on mute |
low_live_engagement_rate | float | Percentage of viewing time that the tab is in focus, player is on mute |
fair_live_engagement_rate | float | Percentage of viewing time that the tab is not in focus, sound is on |
good_live_engagement_rate | float | Percentage of viewing time that the tab is in focus, sound is on |
high_live_engagement_rate | float | Percentage of viewing time that the tab is in focus,
player is in full screen mode, sound is on |
clap_clicked_count | integer | Amount of times the user clicked on clap reaction |
heart_clicked_count | integer | Amount of times the user clicked on heart reaction |
think_clicked_count | integer | Amount of times the user clicked on think reaction |
wow_clicked_count | integer | Amount of times the user clicked on wow reaction |
smile_clicked_count | integer | Amount of times the user clicked on smile reaction |
answered_polls | integer | The number of polls the user responded |
messages_sent_group | integer | The number of messages the user sent in group chat |
qna_threads | integer | The number of threads of the user |
combined_live_engaged_
users_play_time_ratio |
float | A number which represents the viewing engagement of the attendee |
download_attachment | integer | The number of times a user clicked to download any of the attachments |
add_to_calendar | integer | The number of times the user clicked add to calendar |
mic_on | float | Total time mic is on |
cam_on | float | Total time camera is on |
total_reactions_activity | integer | Amount of times the user clicked on any type of reaction |
raise_hand | integer | The number of times the user raised hand in this session |
If you are an existing user and you had already configured Custom activities, your channel_id will display as "0" and your channel_name will display as empty.
Setup of custom activities
Refer to the Marketo docs to learn more about Custom Activities, to learn how to set up Custom Activities, and how to configure Custom Activity fields.
The various actions an attendee carries out during their interaction at an event are shared with Marketo as activities. Kaltura captures the actions attendee takes and can securely share with Marketo so marketers can better score leads, trigger campaigns, share timely and relevant communications and more.
Use the following table to create the Custom Activities in your Marketo account according to the Marketo documentation.
To get Kaltura Events user engagement data, you must create a new custom activity and name it "userSessionEngagement". You may then add the following custom activity fields as desired.
Custom Activity Name: userSessionEngagement
Field | Data Type | Description |
---|---|---|
entry_id (*Primary) | string | The ID of the Kaltura entry which was watched |
entry_name | string | The name of the Kaltura entry which was watched |
string | The email of the user who attended the session. | |
user | string | Kaltura User ID |
channel_id | integer | The id of channel the content was consumed from |
channel_name | string | The name of the channel the content was consumed from |
plays | integer | Number of plays |
vod_minutes_viewed | float | Amount of minutes vod content was consumed |
live_minutes_viewed | float | Amount of minutes live content was consumed |
total_vod_completion_rate | float | Vod content completion rate |
no_live_engagement_rate | float | Percentage of viewing time that the tab is not in focus, player is on mute |
low_live_engagement_rate | float | Percentage of viewing time that the tab is in focus, player is on mute |
fair_live_engagement_rate | float | Percentage of viewing time that the tab is not in focus, sound is on |
good_live_engagement_rate | float | Percentage of viewing time that the tab is in focus, sound is on |
high_live_engagement_rate | float | Percentage of viewing time that the tab is in focus,
player is in full screen mode, sound is on |
clap_clicked_count | integer | Amount of times the user clicked on clap reaction |
heart_clicked_count | integer | Amount of times the user clicked on heart reaction |
think_clicked_count | integer | Amount of times the user clicked on think reaction |
wow_clicked_count | integer | Amount of times the user clicked on wow reaction |
smile_clicked_count | integer | Amount of times the user clicked on smile reaction |
Frequently asked questions
What is the frequency data that is shared with Marketo?
The frequency data depends on the particular Marketo account limitations and overall API load. To avoid overloading the Marketo account, the Kaltura integration bulks data and shares events via the Marketo Bulk API whenever possible. In addition, the Kaltura integration automatically adjusts to the Marketo account limitations and has a delay and retry mechanism to avoid data loss.
Are there any API load or concurrency limitations?
That depends on the particular Marketo account limitations and overall API load. Please refer to the Marketo API documentation, or contact your Marketo admin for support.
Who can use the Kaltura integration for Marketo
To use the Kaltura Marketo integration you must have a Kaltura Virtual Events license. To learn more or upgrade your license, please contact your Kaltura CSM or Project Manager for more details.