What can I use the SpotMe - Marketo integration for?
You can use the integration to perform a variety of actions related to synchronizing data between the Marketo and SpotMe/Onomi platforms:
- Push leads from Marketo to SpotMe, and assign Marketo lead IDs to the SpotMe users.
- Push leads from SpotMe to Marketo, along with their personalized event access so you can continue to leverage Marketo for your email campaigns (available starting May 12, 2026).
-
Push event attendance (available starting May 12, 2026) and live stream engagement data to Marketo from SpotMe.
This can optionally be mapped directly to the Marketo Program Member Status, so lead statuses update automatically based on event participation recorded in the SpotMe platform (available starting May 12, 2026). - Clone Marketo programs in order to speed-up the setup for new events.
What do you need to use the SpotMe - Marketo integration?
- An admin role in your SpotMe organization.
- A SpotMe workspace.
- A SpotMe API token.
- Rights to create custom fields and webhooks in Marketo.
- Necessary permissions in Marketo: Read-Write Person / Read-Write Assets / Read-Write Custom Object
- A Marketo trigger-based event program with a form and an email.
- A Marketo LaunchPoint client ID and secret.
This guide is designed for people who are already familiar with Marketo. If you are not, feel free to forward this page on to your colleagues that can help you with the setup, or if needed refer to Marketo's documentation.
Here are some key subjects you should familiarise yourself with:
- Tokens
- What are webhooks and how to use them
- Custom fields
- Custom program member fields
- Custom objects
- LaunchPoint
Installing the SpotMe - Marketo integration module on the workspace in Backstage
- Navigate to your workspace in Backstage.
- Go to Marketplace > Integrations.
- Install the Marketo module on your workspace.
- Click on Credentials in the popup after installation completes.
- Copy and safely save the REST API URL, LaunchPoint client ID and LaunchPoint secret fields.
- Switch to the Data types tab.
- Click Sync to test your connection.
- Click Enable in the Auto sync column.
Note: If you see any errors, make sure the API user has correct permissions and that the REST API URL is exactly the same as in Marketo (including the /rest/ path, not just the domain).
Tip: If you are using Marketo on all your workspaces, create a workspace template for your organization and apply the changes there.
Pushing leads from Marketo to SpotMe
In this part of the guide we cover the steps you will need to take in Marketo to set up a webhook that will push new leads or form signups from Marketo to SpotMe.
Step 1: Get your SpotMe API token
You will need an API token from SpotMe in order to activate the web hook. You can get the token from Backstage.
- Go to https://backstage.spotme.com/users/tokens
- Click on Create a token.
- Enter a name for the token, this will be visible only to you.
- Click on Create.
- Copy the token to your clipboard or a note-taking tool for use in later steps.
Note: If you do not see this option, contact your organization administrator to give you the API access, or enable it for yourself from the organization page in Backstage if you are the administrator.
Step 2: Create a custom user field in Marketo
In Marketo, add a custom user field:
- Click on Admin > Database management > Field management
- Click on New custom field.
-
Configure the field with following settings:
Object Person Type String Name SpotMe Magic URL API name spotme_magic_url - Click Create.
Step 3: Create a custom program member field
In Marketo, on the field management screen:
- Click on New custom field.
-
Configure the field with following settings:
Object Program member Type String Name SpotMe Login URL API name spotme_login_url - Click Create.
Step 4: Create a webhook
In Marketo, go to the webhook section and create a new webhook with the following settings:
| Webhook name | Push lead to SpotMe |
| Description | |
| URL | |
| Request type | POST |
| Template | |
| Request token encoding | None |
| Response type | JSON |
Step 5: Configure a webhook response mapping
Note: If you've just created the custom fields (as described in steps 2 and 3), you will have to refresh the Marketo page for the new fields to appear in the interface.
- Click on Edit in the Response mappings section.
- Add a new mapping for Response attribute: login_url to spotme_magic_url field.
- Click on Save.
Step 6: Configure the webhook headers
Now it's time to add the content type and authentication headers. To add new headers:
- Click on Webhook actions at the top of the webhook screen.
- Select Set custom headers from the dropdown.
- Add Content-Type header with application/json as the value.
- Add Authorization header with Bearer [your SpotMe token] as the value.
- Click on Save.
Review step 1 to find out how to get your SpotMe token. Do not include the square brackets in the token value.
Step 7: Add a program token
In Marketo, go to the event program you wish to integrate with SpotMe.
- Click on My tokens.
- Add a new Text token with SpotMe workspace ID as the value.
Note: You can copy SpotMe workspace ID from the URL of the workspace in your browser.
Step 8: Configure a program flow
Now, add the webhook and field duplication to your program's smart flow:
- Select the registration flow in the Marketo sidebar.
- Switch to the Flow tab.
- Add a Call webhook action, calling Push lead to SpotMe webhook.
- Add a Change member data action. For Attribute select SpotMe Login URL, for value type select {{lead.SpotMe Magic URL}}.
- Add a Send email action and select your registration confirmation email.
The magic link will be now available as the SpotMe Login URL token in your campaign for registered users.
Step 9: Configure program emails
For any email in which you want to add the user's login URL, use this token as the link value:
{{member.SpotMe Login URL}}Note: Due to a quirk in Marketo, click-tracking won't work out of the box on this link, see this workaround to enable click tracking.
Pushing attendees from SpotMe to Marketo
SpotMe attendees (users) can be pushed to Marketo from a SpotMe workspace.
This can be applied for all SpotMe users that are added either manually to the SpotMe workspace, or via a registration page, or via user imports.
This is done via the "Lead creation" data type in the Marketo integration module:
When the “Lead creation" data type is synchronized (manually or via the auto-sync) the integration module will identify any “new” SpotMe users in the workspace that do not have an associated Marketo lead ID, and it will push these users to Marketo.
The default field mapping is as follows, and can be customized:
| SpotMe field | Marketo Lead field | Required |
| Yes (dedupe key) | ||
| fname | firstName | Yes |
| lname | lastName | Yes |
| company | company | No |
| position | title | No |
| phone | phone | No |
| country | country | No |
The created lead is added to the linked Marketo program as a Program Member, with status "Registered".
After creating the lead in Marketo, Marketo returns the Marketo lead ID to the SpotMe user as marketo_lead_id, enabling all subsequent sync operations (attendance tracking, etc.) to function.
Notes:
- The SpotMe login_url (personalized link to access the event app) is stored in the SpotMe Login URL program member field in Marketo.
- If a lead with the same email address already exists in Marketo, the record is updated (not duplicated) and the lead ID is stored.
- The auto-sync frequency is configurable for the Lead creation data type as 15 minutes, 30 minutes, 1 hour, or 3 hours.
- All settings and field mappings can be saved in a workspace template to facilitate future workspace configurations.
Pushing event attendance and live stream engagement data to Marketo
Attendance data can be sent from SpotMe to Marketo for all the users in the workspace that were already synchronized between Marketo and SpotMe (pushed from SpotMe to Marketo or from Marketo to SpotMe).
These are the users in the SpotMe workspace that have a Marketo Lead ID.
This is done via the Attendance Tracking data type:
Data can be synced automatically by enabling the Auto sync option here , or it can at any time be manually synced by clicking on the Sync button on the data type.
The attendance data that is sent from SpotMe uses two objects:
-
Overall event level attendance (Available starting May 12, 2026)
spotMeEventAttendance_c
-
Live session attendance (Available now)
spotMeAttendance_c
The attendance is calculated for each attendee based on their attendance type (in person or virtually), based on the attendance criteria configured in the workspace here.
Notes on data availability for syncing:
Live statistics (liveWatchTime, liveClapCount, attended, questionsAsked fields) are computed immediately after a live session ends. You can therefore run a sync at that time and see the results in Marketo.
Videos on-demand (VOD) statistics are computed every 6 hours. Therefore you may need to wait up to 6 hours for the sync to update vodWatchTime and vodClapCount, after attendees watched and clapped on an on-demand video.
Follow the steps below to set up the synchronization of attendance and live stream data from SpotMe to Marketo.
Step 1: Create a new LaunchPoint service
To create a new LaunchPoint service:
- Go to Admin > Integration > LaunchPoint.
- Click on New Service.
-
Configure the service with following settings:
Display name
SpotMe Service Custom Description Used for pushing event attendance from SpotMe to Marketo. API Only User
Select a user that has the right to create and update custom object values. - Click on Save.
- Click on View details next to the newly created service in the list of services.
- Share the Client ID and Client secret with your SpotMe contact.
Step 2: Share your Marketo API subdomain
- Go to Admin > Integration > Web services
- At the bottom of the screen, under REST API, copy the Endpoint URL.
- Share the URL with your SpotMe contact:
Step 3: Create the custom objects: SpotMe (live session) attendance / SpotMe event attendance
You need to create the two custom objects in Marketo from Admin > Database Management > Marketo Custom Objects.
The objects are “SpotMe attendance” and “SpotMe Event attendance”, with the following details:
SpotMe attendance
SpotMe Event attendance
Creating the SpotMe Attendance object
Click on New custom object. Fill out the object details and click on Save:
Next, open the Fields tab at the top of the screen
Here you will need to create all the fields below for the SpotMe attendance object, except the “Created at”, the “Marketo GUID”, and the “Updated at” ones that are there by default:
To create the fields, click on New field, add the necessary information for each field per the above table:
Please note that there can be only one “link” type field per object. Here it is the Person Id field:
Below in the table you will also find a full list of the information for each field that needs to be created, including the Dedupe fields. You can have up to three Dedupe files. At least one Dedupe field is needed to approve the object:
| Display name | API name | Description | Data type | Dedupe field |
| Person Id | personId | link → Person → Id | Yes | |
| SpotMe User Id | spotMeUserId | string | Yes | |
| SpotMe Workspace + Stream Id | spotMeWorkspaceStreamId | string | Yes | |
| SpotMe Workspace Id | spotMeWorkspaceId | string | No | |
| SpotMe Stream Id | spotMeStreamId | string | No | |
| SpotMe Stream Name | spotMeStreamName | string | No | |
| Attended | attended | If watched more than one minute live | boolean | No |
| Live watch time | liveWatchTime | In Minutes | float | No |
| Live clap count | liveClapCount | integer | No | |
| On-demand watch time | vodWatchTime | In Minutes | float | No |
| On-demand clap count | vodClapCount | integer | No | |
| Questions asked | questionsAsked | integer | No |
Once you have created the fields, switch back to the Marketo Custom Objects tab.
Select Custom Object Actions > Approve object from the dropdown:
Creating the SpotMe Event Attendance object
Click on New custom object. Fill out the object details and click on Save:
Next, open the Fields tab at the top of the screen
Here you will need to create all the fields below for the SpotMe attendance object, except the “Created at”, the “Marketo GUID”, and the “Updated at” ones that are there by default:
To create the fields, click on New field, add the necessary information for each field per the above table:
Please note that there can be only one “link” type field per object. Here it is the Person Id field:
Below in the table you will also find a full list of the information for each field that needs to be created, including the Dedupe fields. You can have up to three Dedupe files. At least one Dedupe field is needed to approve the object:
| Display name | API name | Description | Data type | Dedupe field |
| Person Id | personId | link → Person → Id | Yes | |
| SpotMe User Id | spotMeUserId | string | Yes | |
| SpotMe Workspace Id | spotMeWorkspaceId | string | No | |
| Attendance type | attendanceType | How did the user attend | string | No |
| Attendance status | attendanceStatus | User attendance status | string | No |
Once you have created the fields, switch back to the Marketo Custom Objects tab.
Select Custom Object Actions > Approve object from the dropdown:
Once all the above is done, you can test the synchronization of the Attendance tracking data type by using the auto sync or as manual synchronization.
How can I see the engagement and attendance statuses pushed to Marketo leads?
Once you have configured and started synchronizing the attendance data from SpotMe to Marketo leads, you can see the attendance status.
Access the event, and open the lead's details from the list in the Members tab.
Now navigate to the custom objects tab, where you can choose between the SpotMe Attendance object and the SpotMe Event Attendance object.
SpotMe Attendance object - live session attendance data and status:
Here we can see the live session engagement data reflected as the fields configured when creating the custom objects, as well as the live session attendance status (here Attended ="true").
SpotMe Event Attendance object - overall event attendance status:
Here we can see the attendance type for the participant for the event ("in-person") as well as the overall attendance status (AttendanceStatus = "Attended").
Keep in mind that these statuses are calculated based on the attendance criteria configured in the workspace.
Step 4: Optional: Program Member Status mapping
In the data configuration for the Attendance Tracking data type, there is a toggle called Update Marketo Program Member Status:
This toggle is disabled by default.
When enabled, the connector maps the SpotMe attendance_status values to the Marketo program channel statuses, therefore updating the lead statuses based on the pushed SpotMe attendance described above.
The default mapping that is set in the connector is as follows, and can be customized based on your needs:
| SpotMe attendance_status | Marketo Program Member Status |
| Invited | Invited |
| Registered | Registered |
| Attended | Attended |
| No show | No Show |
| Cancelled | No existing out of the box status in Marketo |
Step 5: Use the attendance information in your programs
Attendance and engagement information will be available in your Marketo instance on the SpotMe Attendance custom object. You can use this object in your smart flows as a trigger for different marketing activities.
When setting up the trigger, use the SpotMe workspace ID as a constraint to map Marketo programs and SpotMe workspaces:
You can also use any of the custom object properties as additional constraints, such as the number of minutes the attendees have watched a live stream for, which live stream, or how many questions they have asked to update their lead score.
Note: You cannot use {{my.spotme_token}} in the Smart Flow trigger. You will have to paste the relevant workspace ID.
How to configure a SpotMe workspace template to clone Marketo programs
We have added a "Clone Marketo Program" functionality to the Marketo integration module in Backstage, where users can enter a Marketo template program ID into a SpotMe workspace template configuration, to facilitate program cloning:
1. In the SpotMe workspace template, go to the Program Setup tab in the Marketo integration, and add the (source) Marketo template program ID that you want to clone from when crearting new workspaces:You can find the ID for the Marketo program template in the URL for the Marketo program, like in the example below:
2. After adding the Marketo program template ID, click on Save. This will store Marketo program template ID in the workspace template integration configuration.
Once this is done, when you use this workspace template to create new workspaces, in the created workspace you can access the Program setup tab and click on the Clone existing Marketo program:This will display the below screen, where the Marketo template program ID field is already populated, allowing you to immediately clone the program in Marketo using the appropriate button:
To note, before cloning, if the user wants to modify the source Marketo template program that will be used for cloning, they can simply change the numeric value in the Marketo template program ID field, and proceed.
3. After clicking on the Clone existing marketo program button, the user will see a confirmation message that the program was created successfully, and the newly created Marketo program ID is added to the Marketo Program ID field in the Program setup tab for the workspace:
In Marketo, the system will clone the program into the same folder as the template and populate the {{my.spotme_id}} token with the workspace's EID.
Comments
0 comments
Please sign in to leave a comment.