Skip to main content
Connectors

Adobe Marketo Engage connector

Set up the Adobe Marketo Engage connector in Kaivo: authentication, configuration, the 7 BigQuery tables it syncs, and answers to common questions.

Written By Lauri Raivio

Last updated 16 days ago

Kaivo is a fully managed data platform that syncs your Adobe Marketo Engage data into a Google BigQuery warehouse and keeps it up to date automatically. There is no pipeline to build and no infrastructure to run, so you can spend your time analysing your marketing and sales data instead of moving it.

What is the Adobe Marketo Engage connector

Sync your Marketo leads, campaigns, and activities into BigQuery with Kaivo to analyse marketing performance alongside the rest of your data.

CategoryMarketing & Sales
AuthenticationAPI key
SetupSelf-service

Getting started with the Adobe Marketo Engage connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your Adobe Marketo Engage account.
  3. Choose which tables to sync.
  4. Wait for the initial sync to finish.
  5. Query your data in BigQuery or your favourite AI or BI tool.

Authenticating Adobe Marketo Engage

Authenticate with your Adobe Marketo Engage credentials. You provide:

FieldDescription
Domain URL

Your Marketo Base URL (e.g., https://000-AAA-000.mktorest.com).

Client ID

Your Marketo developer application Client ID.

Client Secret

Your Marketo developer application Client Secret.

Configuring the Adobe Marketo Engage connector

When you set up the connector, you provide:

FieldDescription
Start Date

Any data before this date will not be fetched.

Tables and columns synced from Adobe Marketo Engage

Kaivo syncs 7 tables from Adobe Marketo Engage into a dedicated dataset in your BigQuery warehouse. Click any table to see its columns and types.

ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64The unique identifier of the activity type.
nameSTRINGThe name of the activity type.
descriptionSTRINGA description of the activity type.
primary_attribute__nameSTRINGThe name of the primary attribute.
primary_attribute__data_typeSTRINGThe data type of the primary attribute.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: activity_types__attributes

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
nameSTRINGThe name of the attribute.
data_typeSTRINGThe data type of the attribute.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64The unique identifier for the campaign.
created_atTIMESTAMPThe date and time when the campaign was created.
updated_atTIMESTAMPThe date and time when the campaign was last updated.
activeBOOLIndicates whether the campaign is currently active or not.
descriptionSTRINGA brief description of the campaign.
nameSTRINGThe name of the campaign.
program_idINT64The unique identifier of the program to which the campaign belongs.
program_nameSTRINGThe name of the program to which the campaign belongs.
typeSTRINGThe type of the campaign (e.g., email, social media, event).
workspace_nameSTRINGThe name of the workspace where the campaign is stored.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64The unique identifier of the email.
nameSTRINGThe name of the email.
descriptionSTRINGA description of the email.
created_atTIMESTAMPThe date and time when the email was created.
updated_atTIMESTAMPThe date and time when the email was last updated.
urlSTRINGThe URL associated with the email.
subject__typeSTRINGThe type of subject (e.g., Text).
subject__valueSTRINGThe value of the subject.
from_name__typeSTRINGThe type of from name (e.g., Text).
from_name__valueSTRINGThe value of the from name.
from_email__typeSTRINGThe type of from email (e.g., Text).
from_email__valueSTRINGThe value of the from email.
reply_email__typeSTRINGThe type of reply email (e.g., Text).
reply_email__valueSTRINGThe value of the reply email.
folder__typeSTRINGThe type of the folder.
folder__valueINT64The unique identifier of the folder.
folder__folder_nameSTRINGThe name of the folder.
operationalBOOLWhether the email is operational (bypasses unsubscribe).
text_onlyBOOLWhether the email is text-only.
publish_to_msiBOOLWhether the email is published to Marketo Sales Insight.
web_viewBOOLWhether the email has web view enabled.
statusSTRINGThe current status of the email (e.g., approved, draft).
templateINT64The ID of the template used for the email.
workspaceSTRINGThe workspace the email belongs to.
is_open_tracking_disabledBOOLWhether open tracking is disabled for this email.
versionINT64The version number of the email.
auto_copy_to_textBOOLWhether the HTML content is automatically copied to the text version.
pre_headerSTRINGThe preheader text of the email.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: emails__cc_fields

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
attribute_idSTRINGThe attribute ID of the CC field.
object_nameSTRINGThe object name of the CC field.
display_nameSTRINGThe display name of the CC field.
api_nameSTRINGThe API name of the CC field.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64The unique identifier of the list.
nameSTRINGThe name of the list.
created_atTIMESTAMPThe date and time this list was created.
updated_atTIMESTAMPThe date and time this list was last updated.
descriptionSTRINGA brief description of the list.
program_nameSTRINGThe name of the program associated with this list.
workspace_nameSTRINGThe name of the workspace to which this list belongs.
workspace_idINT64The unique identifier of the workspace to which this list belongs.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
program_idINT64The ID of the parent program from which the tokens were retrieved.
nameSTRINGThe name of the token.
typeSTRINGThe data type of the token (e.g., date, number, rich text, score, sfdc campaign, text).
valueSTRINGThe value of the token.
computed_urlSTRINGThe computed URL for the token in the Marketo UI.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
idINT64The unique identifier of the program.
created_atTIMESTAMPThe date and time when the program was created.
updated_atTIMESTAMPThe date and time when the program was last updated.
nameSTRINGThe name or title of the program.
descriptionSTRINGThe detailed information or overview of the program.
urlSTRINGThe URL associated with the program.
typeSTRINGThe type or category of the program.
channelSTRINGThe marketing channel associated with the program.
statusSTRINGThe current status of the program.
workspaceSTRINGThe workspace or environment where the program is located.
head_startBOOLThe time duration for the program to start.
is_head_startBOOLIndicates if the program has a head start feature enabled.
folder__typeSTRINGThe type or category of the folder.
folder__valueINT64The unique value associated with the folder.
folder__folder_nameSTRINGThe name of the folder where the program is stored.
sfdc_idSTRINGThe ID of the corresponding object in Salesforce.
sfdc_nameSTRINGThe name of the corresponding object in Salesforce.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: programs__tags

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
tag_typeSTRINGThe type of tag.
tag_valueSTRINGThe value of the tag.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: programs__costs

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
start_dateSTRINGThe start date of the cost period.
costFLOAT64The cost amount for the period.
noteSTRINGA note about the cost.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
created_atTIMESTAMPThe date and time when the segmentation was created.
updated_atTIMESTAMPThe date and time when the segmentation was last updated.
idINT64The unique identifier for the segmentation.
descriptionSTRINGA brief description of the segmentation.
nameSTRINGThe name of the segmentation.
urlSTRINGThe URL for accessing the segmentation data.
statusSTRINGThe current status of the segmentation.
folder__typeSTRINGThe type of folder.
folder__valueINT64The value associated with the folder.
folder__folder_nameSTRINGThe name of the folder.
workspaceSTRINGThe workspace where the segmentation is located.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the Adobe Marketo Engage sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where Adobe Marketo Engage supports it, each sync pulls only new and changed records so it stays fast; otherwise it refreshes the whole table. Every record keeps its original ID, so you won't get duplicate rows.

Frequently asked questions

How long does the initial sync take for Adobe Marketo Engage?

It depends on how much history is in your Adobe Marketo Engage account. Most initial syncs finish within minutes, while large accounts can take a few hours. After that, syncs only fetch new and changed records, so they're much faster.

Can I sync only some tables or columns?

Yes. You pick which tables to sync when you set up the connection and can change the selection later. Tables you don't select are never copied to your warehouse.

What happens when Adobe Marketo Engage's schema changes?

New fields are never added automatically. You choose which fields to sync, so data you haven't selected (sensitive personal data, for example) never lands in your warehouse. When a new field appears, it becomes available for you to add. What happens to removed or renamed fields depends on a table's sync mode: full-refresh tables always match what's currently in Adobe Marketo Engage, so dropped fields disappear, while incremental tables keep their existing columns and history, so an old field stays and newly added fields fill in over time.

How do I handle GDPR or data deletion requests?

Your data lives in your own Kaivo-managed BigQuery warehouse, so the most direct option is to delete or anonymise specific records right in BigQuery. If you delete data in Adobe Marketo Engage instead, full-refresh tables drop it on the next sync, while incremental tables keep it, so you would remove the row in BigQuery or ask us to run a full refresh. To remove everything, delete the Adobe Marketo Engage connector in Kaivo and all of its synced data is deleted with it.

Common use cases for Adobe Marketo Engage data

Campaign performance

Track campaigns and activities to measure engagement and conversion.

Lead funnel

Analyse leads and their activities to see how prospects move through the funnel.

Email engagement

Report on opens, clicks, and responses to find what drives results.

Marketing and sales together

Join Marketo data with your CRM in BigQuery to connect campaigns to pipeline.

Use Adobe Marketo Engage data in your AI and BI tools

Once Adobe Marketo Engage data lands in your Kaivo-managed BigQuery warehouse, you can explore it with AI tools or any BI tool that connects to BigQuery. Here's how the most common destinations work with Adobe Marketo Engage data.

Claude

Use Kaivo's MCP server to give Claude secure, workspace-scoped access to your data. Setup guide →

Power BI

Microsoft's BI tool with a native BigQuery connector. Supports direct query and scheduled refresh. Setup guide →

Data Studio

Free Google BI tool with native BigQuery support. One-click connection to your Kaivo warehouse; great for SMB teams on Google Workspace. Setup guide →

Tableau

The premium analytics standard, with native BigQuery integration. Setup guide →

Google Sheets

Use Connected Sheets to query BigQuery directly from a spreadsheet, with no SQL. Setup guide →

Excel

Connect via Power Query's BigQuery connector. Setup guide →

Metabase

Open-source BI tool with strong BigQuery support. Setup guide →

See our pricing page for Adobe Marketo Engage connector pricing and plan details.

Was this helpful?

Still need help? Share an idea