The New ON24 Webinar Integration

Marketo Employee
Marketo Employee

What’s changed? The good, the bad, and the ugly do differently.

UPDATES:  This article has been updated with some new and revised information.

  • Documentation links have been updated to new ON24 docs
  • Context added to the background info.


ON24 has changed their integration with Marketo, and the native LaunchPoint integration is no longer an option for new accounts.  (Existing accounts can continue to use the legacy integration.)  The new method of integration is API calls, with custom objects. [In a conversation with the ON24 team, I learned that the new integration was the result of several drivers.  Customers wanted more data to be available in Marketo from the ON24 event.  The Launchpoint integration was convenient, but it greatly limited the data sharing. Custom objects, while not perfect, offered the ability to share more datapoints which are mentioned later in this article. They also mentioned that an integration kickoff call is available to clients, if needed.] This fundamentally changes the way you set-up the integration and associated programs.  You no longer bind the program to the event.  Event registrations are passed from ON24 to Marketo and each event is represented by a separate custom object record.  There are some things I like about it and some things that I don’t, but you can make up your own mind.


ON24 has revised their document, which have been referenced in the article below.  For your convenience, here are some quick links:

There is a bit of a learning curve on how to design your programs, but there are some set-up details that can cause headaches and hair-loss.  (This article may help reduce both.) The integration is documented in the Marketo ON24 Connect Data Integration, but not everything is obvious.  Especially if you like to start with a Marketo registration form, then pass the registrant to ON24. How to avoid some basic problems.

  • Options – at the end of the document, there are “options” that are very important.
    • “Create New People” needs to be enabled if you ever want to use the ON24 registration page and have the new leads added to Marketo.  If not, you will only see registrations for “known” in persons in Marketo.
    • “ON24 Registrants” needs to be set to sync registration activity to Marketo.  This includes registrations and participation data.
    • “Backfill in Marketo” is your safety net if you found that you missed the above settings and have active programs running.
  • ON24 Attendee[i] – is the name of the custom object (or whatever name you choose to give it) is where all the magic happens. Marketo programs must use the data in the custom object to add program members, change status, etc. This means that you need triggers for future activities and batch campaigns for data that has already been passed to Marketo.
    NOTE: You only need to create one custom object for your Marketo Engage instance, even if you have more than one ON24 account or add another account in the future.
  • The Webhook –The 36-page instructions linked above make no mention of a webhook or how you pass a Marketo registration to ON24. Webhook information can be found in the Marketo to ON24 – Webinars article. (insert ethereal Aha! sound here)

If you follow the instructions in both of these articles and don’t skip any sections, you should be OK.

Avoid Old Habits

The old ways of doing things are gone. Reset your brain.

  1. You don’t use the native LaunchPoint integration.
  2. You don’t pick the event partner or event in the program settings.
  3. You don’t build smart campaigns that trigger on program membership or status changes.
  4. You cannot use the {{member.webinar url}} token. (It will be NULL.)

The New Way

The new integration will require a little more set-up, but you can build most of this into a program template for easy replication.  I recommend creating the template with all of the Smart Campaign variations then you only need to configure/activate the ones that are needed for your event.  Before we get into the details, this diagram may help visualize the integration activities associated with the event.

ON24-Marketo Program FlowON24-Marketo Program Flow

Not every path in this flow may apply to your set-up, but these are considerations you may want to include in your program template design.  Some key things to note:

  • The custom object record is only created by ON24 when a person is added to the event in the ON24 environment
  • Registrations that originate in Marketo are only added to the ON24 event by the webhook
  • Last minute registrations via the webhook from Marketo can be delayed if the systems are busy and these activities are queued.  (This can impact when the user join link is functional.)
  • Registrations that originate in ON24 will be known to ON24 before they are shared with Marketo
  • ON24 will only create a custom object for existing records in Marketo unless you configured ON24 to “Create New People”
  • You can register people during the event.  The custom object will be created and updated.
  • All registration activities, notifications, status changes, and follow-up actions must evaluate the custom object existence and field values.

Reading the Tea Leaves (Custom Object)

The key to all actions and controls is in the custom object.  There are several fields within it that are important to understand and use in your smart campaign build.  While there are many more fields that can be configured, these are the ones that are key to program membership and status.  Also, note that these field names are set-up when you create the custom object and may not have been added by your system administrator.

Custom Object Field


Required/Suggested Use



The presence of a custom object with the ON24 event ID indicates that the person is registered for that event. This is the key to identifying the custom object and associated fields below. [required]



Use this Y/N value to identify if a user attended the live event. You can use this to change the program status to "Attended".



Use this Y/N value to identify if a user viewed the on-demand event. You can use this to change the program status to "Attended - OnDemand".



Use the number of minutes value to identify how long the person participated in the live event. You may want to use a minimum threshold value to qualify a person for the smart campaign that changes the program status or issues program incentives.



Use the number of minutes value to identify how much of the recorded content the user viewed. You may want to use a minimum threshold value to qualify a person for the smart campaign that changes the program status or issues program incentives.

Member Join Link & Event Tokens

Since the join link is no longer added to the program, you cannot use the {{member.Webinar URL}} token.  Instead, you need to create the link with a combination of tokens. You will need to create a token for the event ID e.g. {{my.eventid}} and the event key e.g. {{my.key}} which you can get from the “Audience” link in ON24. You can find it by clicking the link at the top of the event which will open a box as shown below.  See the highlighted text for an example.  (Of course your values will be different.)




Once you have created the tokens, you will use them to “build” a join link with as follows with the tokens in bold for visual clarity:{{my.eventid}}/{{my.key}}?mode=login&email={{ address}}

Create New Habits

The new way requires a focus on the custom object records and changes to those records.

  1. At a minimum you will need the ON24 Event ID to identify relevant data for the program.
    1. Create a local token for the event ID   e.g. {{my.eventid}}
    2. Create a toke for the event key   e.g. {{my.key}}
  2. Remember that an event custom object is added only once, after that you will need to trigger on updates to the ON24 Attendeei custom object.
    1. Sometime triggers don't happen. (It's a fallen world.) This can occur if your instance is very busy and the trigger campaign is waiting for an extended period of time, and the campaign times-out without executing.  (If you happen to be monitoring the campaign, you can bump the priority of the waiting campaign in the Campaign Queue of the workspace.)
    2. It is more likely that you have other things to do and you didn't see the campaign waiting in the queue. All is not lost, you can create a smart campaign that uses the custom object filter with the same settings as the trigger, and run it as a batch process.
      Power Tip:  You may just want to create this as a safety net, and schedule it to run every day during the event period. This will sweep any missed activity into the program. You don't need to recreate everything, add a "Campaign is Requested" trigger to the main smart campaign and request it in the flow of the sweeping batch campaign.
  3. You must build the member join link with multiple tokens.
  4. Create a test event and program to gain some experience … then Test. Test. Test.


There is much more to learn and understand, which will come with practice.  Hopefully this article will get you off to a good start and avoid some frustrations and mistakes.



[i] ON24 Attendee is the suggested name for the custom object.  You can use something different but note that this is how this article refers to the custom object. I also recommend creating all of the fields, because you may need them some day and it will reduce the need for troubleshooting in the future.