Connect SpotMe with your Marketo instance to streamline event registrations and leverage Marketo's emailing capabilities throughout your event.
With this SpotMe and Marketo integration, you will be able to:
- Push leads/contacts/program members from Marketo to a SpotMe workspace.
- Store user magic links in Marketo, for use in emails.
- Receive attendance and live stream engagement data in Marketo.
What do you need?
- An admin role in your SpotMe organization.
- A SpotMe workspace.
- A SpotMe API token.
- Rights to create custom fields and webhooks in Marketo.
- A Marketo trigger-based event program with a form and an email.
- A Marketo LaunchPoint client ID and secret.
Finally, this guide assumes you are already fairly familiar with Marketo. If you are not, forward this page to your colleagues that can help you with the setup or read through Marketo's documentation.
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
Pushing Marketo leads to SpotMe
In this part of the guide we cover the steps you will need to take in Marketo to setup a webhook that will push new leads or form signups from Marketo to SpotMe.
Step 0: 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 1: 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 2: 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 3: 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 |
https://api.spotme.com/api/v2/workspace/{{my.spotme_id:default=editme}}/global/docs/person |
Request type | POST |
Template |
{ "_id": "{{my.spotme_id:default=edit me}}_{{lead.Id:default=edit me}}", "fname": "{{lead.First Name:default=edit me}}", "lname": "{{lead.Last Name:default=edit me}}", "email": "{{lead.Email Address:default=edit me}}", "position": "{{lead.Job Title:default=edit me}}", |
Request token encoding | None |
Response type | JSON |
Step 4: Configure a webhook response mapping
Note: If you've just created the custom fields (as described in steps 1 and 2), 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 5: 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 0 to find out how to get your SpotMe token. Do not include square brackets in the value.
Step 6: 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 7: 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 8: 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 attendance information to Marketo
In this part of the guide we are going to cover the steps needed to automatically sync attendance and engagement data from SpotMe to your Marketo instance.
Please note that data is only synced automatically between SpotMe and Marketo by enabling the Auto-Sync option in Backstage > Integrations > Data Types > Attendance Tracking. Data can at any time be manually synced by clicking on the Sync button on the data type.
Attendance data will be pushed to a custom object in Marketo and will contain the following information:
- Has a user watched a live stream for more than 5 minutes?
- How long have they watched the live stream?
- How long have they watched the on-demand version of the stream?
- How many claps have they sent (live and on-demand)?
- How many questions have they asked (in total)?
To complete this part of the integration, you will need to:
- Create a custom object in Marketo.
- Install Marketo integration in your SpotMe workspace.
Once the setup is completed, attendance data can be synced between SpotMe and Marketo by clicking on the Sync button in Backstage > Integrations > Data Types > Attendance Tracking, or by enabling the Auto-Sync option.
Attendance data is sent only for SpotMe user which were pushed from Marketo to SpotMe, i.e. users which have a marketo_lead_id. One custom object (spotMeAttendance_c) will be created for each Marketo Lead and SpotMe Live Stream. Example: For 2 users and 3 live streams, 6 custom objects will be created.
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.
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 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 a custom object
Start creating a new custom object in Marketo from Admin > Database Management > Marketo Custom Objects:
- Click on New custom object.
- Fill out the object details and click on Create:
Display Name SpotMe Attendance API Name spotMeAttendance_c Plural Name SpotMe Attendances Description Tracks attendance and engagement information on SpotMe events. Show in Person Detail Show - Switch to the Fields tab at the top of the screen.
- Using the New field action, add the following fields (↗️ view table in fullscreen):
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 - Switch back to the Marketo Custom Objects tab.
- Select Custom Object Actions > Approve from the dropdown.
Step 4: Install Marketo integration in SpotMe
Now install the Marketo integration in your SpotMe workspace.
- Navigate to your workspace in Backstage
- Go to Marketplace > Integrations
- Install Marketo
- Click Credentials in the popup after installation completes
- Paste and save REST API URL, LaunchPoint client ID and LaunchPoint secret fields
- Switch to Data types tab
- Click Sync to test your connection
- Click Enable in the Auto sync column
Tip: 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 /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 change there.
Step 4: 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.
Comments
0 comments
Please sign in to leave a comment.