Skip to Content

Using Marketo together with TwentyThree

Video is a powerful tool in marketing automation and lead scoring since engagement and actions can be measured directly. Videos, live events, and webinars are also a really effective way to identify visitors as qualified leads.

The Audience and Collector features in TwentyThree are built exactly for this purpose. Using the product you will be able to convert, track, and follow viewers of your videos directly from TwentyThree.

When you connect your Marketo account to TwentyThree, all the information becomes available within Marketo as well: Contact information, viewer data, video engagement scores, and more.

In addition, contact information is synced between TwentyThree and Marketo. This means that contacts from Marketo will automatically be available in Audience, and that you won't need to ask for lead information twice.

What is Marketo? And how does it work with TwentyThree?

Marketo is a marketing automation system and CRM. It is used by marketing and sales teams to work with contacts and leads. This is done by tracking online activity and using calls-to-action to convert visitors into named contacts. From here, marketing outreach may be automated or the sales team may use the contact information in the sales process.

When TwentyThree and Marketo are connected information about contacts and their activity is shared between the two products.

The integration is built with what we call two-way sync, which has two major benefits:

  • First, contact information and detailed video usage information from TwentyThree is made available directly in Marketo—where it can be used for attributes, program assignment, smart flows, lead scoring, email campaigns, lead creation and much more.
  • Second, TwentyThree will automatically detect if a contact already exists in Marketo—and then reuse that information without asking visitors to identify again. This ensures a great user experience and the best possible data foundation for your video marketing.

Connecting to Marketo

Setting up Marketo for connection requires a few different steps within Marketo itself. Specifically, you will need to set up custom activities for video and collector information, and you may choose to set up a program and/or a partition for leads and activity coming from TwentyThree.

Connect: Configure subdomain on TwentyThree

In order for account and profile information to be synced automatically, we recommend that TwentyThree is set up to run from a subdomain to main site domain. This will make sure that TwentyThree and Marketo share the same tracking information, which will also guard against duplicate profiles.

Connect: Set up service credentials

To access lead and activity information in Marketo, you need to create new service credentials for TwentyThree. In order to do so you need to first create an appropriate role and API user:

  • Go to Admin → Users & Roles → Roles
  • Click on New Role and set the Role Name to TwentyThree and the Description to TwentyThree Integration.
  • In Permissions, unfold Access API and make sure that you select both Read-Write Activity and Read-Write Person and then click Create.


  • Now go to Admin → Users & Roles → Users
  • Click on Invite New User and insert info similar to this:
    Email: apiuser@yourdomain.com
    First Name: API
    Last Name: User
    Reason: TwentyThree Integration
    Access Expires: Never
  • Click Next and select the newly created role TwentyThree – make sure to check the API Only option.
  • Click Next and then click Send

Now you will be able to create the custom service, using the new API user.

  • Go to Admin → LaunchPoint and select New → New Service
  • Set Display Name to TwentyThree and set Service to Custom.
  • Set Description to TwentyThree integration and select the newly created user in API Only User



  • To obtain Client Id and Client Secret, click on View Details on the newly created service.

Connect: Set up fields for lead details

For every video viewer, TwentyThree will collect key stats such as videos and minutes played. To sync this to the contact card in the leads database:

  • Go to Database Management → Field Management within Admin.
  • Create each for the fields listed below using the New Custom Field button.
Type Name API Name
Integer Number of videos played twentythree_number_of_videos_played
Integer Number of video visits twentythree_number_of_videos_visits
Integer Total video playback (minutes) twentythree_total_video_playback
Integer Video engagement score twentythree_video_engagement_score
String TwentyThree User Identifier twentythree_uuid

By default, the fields are added to the Lead Info category, which is also where you want it.

Connect: Set up custom activity for video views

TwentyThree forwards two kinds of custom data to Marketo: Information about a video or a live event being watched; and information from collectors about gating and conversion. To capture this information, Marketo must be configured with the correct custom activities.

  • Go to Database Management → Marketo Custom Activities within Admin.
  • Click New Custom Activity.
  • Set Display name to: Video view.
  • Set API Name to: twentythreeVideoView_c.
  • After clicking Next, set Filter to Has watched video − and Trigger to Watches video.
  • Click next and then set Name to Event identifier − and API Name to id.
  • Create the activity and go to the Fields tab.
  • Create each of the fields specified in the table below.
  • Finally, change the state of the activity to Approved.
Name API Name Data Type
* Event identifier id string
Category category string
Duration (timestamp) duration string
Duration (seconds) durationSeconds integer
Live Event Attendance isLive boolean
Video link link string
Video identifierobjectstring
Video tags tags string
Video title title string
User Identifier on TwentyThree twentythree_uuid string
Event Identifier on TwentyThree twentythree_event_id string
Video watched (timestamp) watched string
Video watched (percentage) watchedPercentage integer
Video watched (seconds) watchedSeconds integer
Base URL base_url string
Heatmap heatmap string
People link peopleLink string

Connect: Set up custom activity for collector information

The second custom activity is added much like the previous one:

  • Go to Database Management → Marketo Custom Activities within Admin.
  • Click New Custom Activity.
  • Set Display name to: Collector signup.
  • Set API Name to: twentythreeCollectorSignup_c.
  • After clicking Next, set Filter to Has signed up on video − and Trigger to Signs up on video.
  • Click next and then set Name to Event identifier − and API Name to id.
  • Create the activity and go to the Fields tab.
  • Create each of the fields specified in the table below.
  • Finally, change the state of the activity to Approved.
Name API Name Data Type
* Event identifier id string
Video object object string
Video category category string
E-mail email string
Company name company string
First name firstName string
Last name lastName string
Title personTitle string
Phone phone string
Live Event Attendance isLive boolean
Video link link string
Video tags tags string
Video title title string
User Identifier on TwentyThree twentythree_uuid string
Event Identifier on TwentyThree twentythree_event_id string
Base URL base_url string
People link peopleLink string

Connect: Set up a Marketo program for leads and activities

Marketo track lead activity within programs, and to connect you should set up a new program for TwentyThree:

  • Go to Marketing Activities and click New program.
  • Create a new program called TwentyThree.
  • Configure the other properties as needed. We suggest using a campaign folder with Data Management, using Engagement as the program type and Nurture as your channel.

Connect: Set up TwentyThree

After Marketo has been set up with the steps above, go to TwentyThree and click the Marketo icon in the Connect section. Here, input the information gathered above:

  • Munchkin Account ID: The account identifier from finding under Integration → Munchkin within Admin.
  • Custom activities: The number identifying the newly created custom activities for video views and collector information.
  • Program name: The name of the program you set up for TwentyThree interactions.
  • *Optionally, you can include a lead partition name if you're using this feature of Marketo.
  • Client ID and Secret: The information for the new TwentyThree service found under Integration → LaunchPoint within Admin.

Video usage information in Marketo

TwentyThree collects individual viewer information and calculated video usage -- such as the number of videos played and the total video engagement minutes for that contact. The tracking will also calculate a video engagement score between 0 and 100 based on the interaction.

This information is automatically updated on the Marketo profile:

  • Number of videos played: Total play count of on-demand and live video on TwentyThree.
  • Number of videos visits: Total visits where video on TwentyThree was played.
  • Total video playback: Total video playback duration in minutes, from TwentyThree.
  • Video engagement score: Video engagement score (between 0 and 100) on TwentyThree.

Using custom activities with leads

When Marketo and TwentyThree are configured with custom activities the Activity Log tab for all leads will be updated with two different kinds of information:

  • Info about videos watched: This includes video information such as title, tags, category, type and duration − along with details about how much was watched by the lead contact. This allows specific flows to fire depending on the content and the interaction.
  • Info about conversions: This includes the sign-up information such as name, company, phone, title, and email address − plus of course information about video or live event that triggered the conversion. This also includes title, tag, category, type, duration, and more.

How to: Segment Marketo contacts based on videos watched

After the integration is set up, there are a number of options for creating lists and workflows around video data. For example, you can create a Smartlist using the properties:

  • From the Lead Database section create a New Smart List.
  • From Custom drag in the Has watched video option and set event identifier to "is not empty".

This will give you a list of all contacts that have watched a video.

To filter further you can add more constraints to the list. For example:

  • Limit to leads that have watched videos in a specific category.
  • Limit to leads that have watched more than 50% of a video.
  • Limit to leads that watched a specific video on TwentyThree using the id and the Identifier on TwentyThree.
  • Limit to certain parts of the funnel by using tags on TwentyThree and in the filter.

These constraints can be combined as needed.

How to: Segment Marketo contacts based on total video usage

The same method can also be used to segment contact by total video usage, for example how many videos were played; how many minutes of video have been watched; or by the aggregate video engagement score in TwentyThree.

For this, all the video usage properties listed above are available.

How to: Create a Smart List of live webinar registrants

When setting up a webinar in TwentyThree, it is important to ensure that you are able to get attendees data into a list in Marketo by using Smart Lists. This will collect registrants who signed up for a live webinar event.

When creating your list you need to set ‘Has signed up on video’ as the trigger, add Video Object from the ‘Add Constraint’, where the video object is set to ‘is’ and then your webinar ID in the last field. 

To find the webinar ID you will need to go to the TwentyThree backend and find the webinar you want to use in the Marketo Smart List. You can then copy/paste the last it of the URL which is the Webinar ID.

How to: Create a Smart List of live and on demand webinar registrants

This will give you a Smart List of all new registrants to the specific webinar as well as viewers who signed up for the on demand webinar.

When creating your list you need to set ‘Has signed up on video’ as the trigger, add Video Object from the ‘Add Constraint’, where the video object is set to ‘is’ and then your webinar ID in the last field. Then add a second constraint and set the Video Tag to contain the Live ID of the video that is associated with the webinar as the on demand experience.

how to find video id