SOLVED

Exporting Reporting Data Programmatically

Go to solution
PikeStLabs
Level 2

Exporting Reporting Data Programmatically

Hi All,

I find the reporting in Marketo to be less flexible than I want bc I need to tie the email data to other corporate data in our warehouse. My question is whether the 'Bulk Activity Extract' APIs are the only way to do this? It appears to require several steps (create job, submit job into queue, pull for status, retrieve file). Is that accurate?

 

Also, when if that is the case, will I be receiving all the same info I get in the Marketo Reports such as Opens, Clicks, Bounces, Click URLs, etc that I get from the Campaign and other reports? 

 

Thanks!

Tags (2)
1 ACCEPTED SOLUTION

Accepted Solutions
SanfordWhiteman
Level 10 - Community Moderator

Re: Exporting Reporting Data Programmatically

The Bulk Activity Extract API isn't the only way, as there's also the paginated Export API.

 

The Extract API is generally better for warehousing, but it isn't the best for every case. For example, if you need only one page of results you can get it synchronously using the Export API instead of queueing a job.  Note Extract is metered by bytes in the final CSV, while Export is metered by the # of JSON pages. Thus they each have their place depending on your data.

 

Regardless of how you get the data, neither is a "Reports API". You don't get generated reports that look anything like what you see in the UI. You get the raw Activity Logs, with which you can (mostly) develop similar reports using your own queries & views.

View solution in original post

4 REPLIES 4
SanfordWhiteman
Level 10 - Community Moderator

Re: Exporting Reporting Data Programmatically

The Bulk Activity Extract API isn't the only way, as there's also the paginated Export API.

 

The Extract API is generally better for warehousing, but it isn't the best for every case. For example, if you need only one page of results you can get it synchronously using the Export API instead of queueing a job.  Note Extract is metered by bytes in the final CSV, while Export is metered by the # of JSON pages. Thus they each have their place depending on your data.

 

Regardless of how you get the data, neither is a "Reports API". You don't get generated reports that look anything like what you see in the UI. You get the raw Activity Logs, with which you can (mostly) develop similar reports using your own queries & views.

Victor_Herrero
Level 5

Re: Exporting Reporting Data Programmatically

When I was looking into this myself, somewhere I came across this resource, which will eliminate a lot of guesswork when automating reports in case you go for the bulk activity extract option. 

https://docs.google.com/spreadsheets/d/1i-3GVbpUK7oc8YanOokY_1yd_Ly124urK2HHydrN0d8/edit#gid=1253153...

 

Among other useful things it includes a glossary of what each activity ID means: 

Victor_Herrero_0-1614764290606.png

 

I'm unfamiliar with the difference between "Export" and "Extract" APIs. Are there some resources I can read on this? I only found "bulk extract" here: https://developers.marketo.com/rest-api/bulk-extract/

For leads, activities and program membership. 

SanfordWhiteman
Level 10 - Community Moderator

Re: Exporting Reporting Data Programmatically

The Activity IDs should be downloaded from the Describe Activity endpoint, which is a live version with all the up-to-date IDs. You shouldn't use a static list for that.

The Export API is doc'd here: https://developers.marketo.com/rest-api/endpoint-reference/lead-database-endpoint-reference/#/Activi...
PikeStLabs
Level 2

Re: Exporting Reporting Data Programmatically

This is all great information, thank you everyone. I'm going to dig into this a bit more. I'll update the thread with additional questions as I get to them.