Marketo Batch Source

Marketo Batch Source

Introduction

Marketo provides Marketing Automation software that allows companies to streamline, automate, and measure marketing tasks and workflows, so they can increase operational efficiency.

Use case(s)

  • Read and replicate all of Marketo's entity data tables (e.g leads, activities, campaigns etc.). This would allow users to extract and load all of their Marketo data into specified multi-table or multi-file sink.

  • Retrieve data from one of Marketo's entity data tables, allowing users to transform and enrich the data 

User Storie(s)

  • As a data pipeline developer, I should be able to import all of Marketo's entity data tables so that I can analyze Marketo data

  • As a data pipeline developer, I should be able to specify Marketo entity (e.g. Leads) for which I can retrieve and transform the data

  • As a data pipeline developer, I should be able to specify Client ID and Client secret that would allow me to extract the entity datasets from Marketo

  • As a data pipeline developer, I should be able to see any errors from Marketo API calls so that I can resolve those issues

  • As a data pipeline developer, I do not need to specify fields associated with the datasets to filter on so that I can get the entire dataset

Plugin Type

Batch Source
Batch Sink 
Real-time Source
Real-time Sink
Action
Post-Run Action
Aggregate
Join
Spark Model
Spark Compute

Configuration

Marketo batch source would get all the Marketo's entities (e.g. Leads, Activities, Campaigns, Companies etc.)

Marketo Reporting plugin

This plugin should be used when the user would like to retrieve all of the Marketo datasets associated with Leads and Activities entities: 

User Facing Name

Type

Description

Default value

Notes

User Facing Name

Type

Description

Default value

Notes

Client ID

string

Marketo Client ID

 

 

Client Secret

string

Marketo Client secret

 

 

REST API Endpoint

string

REST API endpoint URL

 

 

REST API Identity

string

REST API identity

 

 

Entity

drop-down

Marketo entity name

None

Possible values: Leads, Activities

Daily API limit

integer

Marketo enforced daily API limit

 

Additional daily capacity can be purchased and hence user needs to provide this information.

https://developers.marketo.com/rest-api/marketo-integration-best-practices/

Report format

string

Report format

CSV

Options are CSV, TSV or SSV

Start date

string

Start date for reports data

 

ISO 8601 format

End date

string

End date for reports data

 

ISO 8601 format

 

Marketo Entity plugin

This plugin should be used when the user would like to extract the data associated with a single Marketo entity (e.g. Leads)

 

User Facing Name

Type

Description

Default value

Notes

User Facing Name

Type

Description

Default value

Notes

Entity Name

string

Marketo entity name to fetch

 

Possible entity values include:

  • Lead Database: Campaigns

  • Asset: Channels, Email, Email Templates, Files, Folders, Landing Pages Templates, Programs, Snippets, Tags, Tokens

Client ID

string

Marketo Client ID

 

 

Client Secret

string

Marketo Client secret

 

 

REST API Endpoint

string

REST API endpoint URL

 

 

REST API Identity

string

REST API identity

 

 

Daily API limit

integer

Marketo enforced daily API limit

 

Additional daily capacity can be purchased and hence user needs to provide this information.

https://developers.marketo.com/rest-api/marketo-integration-best-practices/

Report format

string

Report format

CSV

Options are CSV, TSV or SSV

Start date

string

Start date for the report

 

ISO 8601 format

End date

string

End date for the report

 

ISO 8601 format


Design / Implementation Tips

  • Users dont need to specify particular fields to filter on. They will specify the entity (for Entity Plugin) to extract and the plugin will ensure that all the fields are extracted for the specified entity. Same will be true for Marketo reporting plugin.

Design

Approach(s)

Properties

Security

Limitation(s)

Future Work

Test Case(s)

  • Test case #1

  • Test case #2

Sample Pipeline

Please attach one or more sample pipeline(s) and associated data. 

Pipeline #1

Pipeline #2

References

Created in 2020 by Google Inc.