Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

Marketo provide 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 , specifically (e.g leads, activities, programs and 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 fix resolve those issues
  • As a data pipeline developer, I should be  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 source will support two different plugins

...

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

Marketo

...

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 NameTypeDescriptionDefault value
Constraints
Notes
App
Client IDstring
Application ID
Marketo Client ID
string


Client SecretstringMarketo Client secret
Report IDstringThe report ID to fetch the data forOnly shown if "Use Existing Report" is set to true.Report typeSelectOne of  Instant, Standard, Floodlight, Path to Conversion (P2C), Reach, Cross-Dimension Reach or GRP. Defaults to Standard.Only shown if "Use Existing Report" is set to false.Date RangeSelectOne of "Last 14 days", "Last 24 months", "Last 30 days", "Last 365 days", "Last 60 days", "Last 7 days", "Last 90 days", "Month to data", "Previous Month", "Previous quarter", "Previous week", "Previous year", "Quarter to date", "Today", "Week to date", "Year to date", "Yesterday". Defaults to "Last 30 days"Only shown if "Use Existing Report" is set to false.DimensionsSelectA list of dimensions based on the report type. Defaults to all. Full list hereOnly shown if "Use Existing Report" is set to false.MetricsSelectA list of metrics based on the report type. Defaults to all. Full list hereOnly shown if "Use Existing Report" is set to false.Advanced propertiesTextA set of advanced properties to include in the report criteria, based on the selected report type. Full list is hereOnly shown if "Use Existing Report" is set to false.


REST API EndpointstringREST API endpoint URL

REST API IdentitystringREST API identity

Entitydrop-downMarketo entity nameNonePossible values: Leads, Activities
Daily API limitintegerMarketo 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 formatstringReport formatCSVOptions are CSV, TSV or SSV
Start datestringStart date for reports data
ISO 8601 format
End datestringEnd 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)

Pro: No upfront work involved in generating a new report

Con: Need to work with Google to get DCM files uploaded to GCS

Note: This plugin should be a wrapper over the existing GCS source, that hides some details from the user, but also auto-populates schemas.

...

Design / Implementation Tips

  • It seems like the flow for the reporting plugin will be:

...


User Facing NameTypeDescriptionDefault valueNotes
Entity NamestringMarketo 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 IDstringMarketo Client ID

Client SecretstringMarketo Client secret

REST API EndpointstringREST API endpoint URL

REST API IdentitystringREST API identity

Daily API limitintegerMarketo enforced daily API limit

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

https://developers.

...

...

...

api/marketo-integration-best-practices/

Report formatstringReport formatCSVOptions are CSV, TSV or SSV
Start datestringStart date for the report
ISO 8601 format
End datestringEnd 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

...