SlideShare a Scribd company logo
Custom Development
I Didn’t Know You Could Do That
In Marketo! Interesting and useful applications of Marketo’s development features
November 10, 2021 12:00 PM ET
Peter Liske | Director, Marketing Technology – Digital Pi
2
3
HOUSEKEEPING
Technical Support
• Visit support.zoom.us
Slides & Recording
• This session is being recorded
• On-demand video and slides will be shared via email
with all registrants
Feedback & Survey
• Use the session chat to provide feedback and engage
with other attendees
• Tell us how we did in the post-session survey that will
pop up after the session
Questions & Chat
• Submit questions at any time via the Q&A panel
• Join in! Chat with attendees live using the chat
feature at the bottom of your Zoom screen
• Keep the conversation going on Twitter using
#MarketoTopTips
Velocity Tokens
● Email Content Customization
Marketo Rest API
● Asset/Program Management
● Data Management
Marketo Functional Areas We Will Explore
Marketo Forms 2.0 API
● Form Customization
5
Poll: Rank your experience with Email Script Tokens
● None
● A little bit
● Extensively
6
Email Script Tokens
7
Velocity
8
When to use Velocity?
● Conditional Formatting
● Dates
● Combining many fields into one
● Tabular Display
● Custom Objects
● Program Membership
● “Lookup” Tables
Good Primers on Velocity in Marketo:
● Sanford Whiteman (https://blog.teknkl.com/author/sanford/)
● Marketo Community
Upping your Token Game: Getting Started with Velocity Script
9
VELOCITY LOOKUP TABLES
#set($var = {"key": "value", … })
#set($office = {648: "Baldwin Park",
654: "East La Whittier",
655: "El Monte Valley"})
Office 648 is ${office[648]}
Office 648 is Baldwin Park
10
VELOCITY LOOKUP TABLES : lookup lead fields
#if ($lead.currentOfficeNumber != "")
#set( $OfficeID = $convert.toInteger($lead.currentOfficeNumber))
Office ID ${OfficeID} is ${office[$OfficeID]}.
#else
Your current office number is not set.
#end
11
VELOCITY LOOKUP TABLES: nested tables
#set($var = {key: {key: value, …}, … })
The combined
length of all Email
Script Tokens in a
given email may not
exceed 100,000
bytes.
12
VELOCITY LOOKUP TABLES: example email
13
LOOKUP TABLES: another example email
14
LOOKUP TABLES: another example email
15
Poll: What languages have you used for API integration:
● None (we dont use the API)
● Java
● JavaScript/Node
● Python
● .NET/C#
● Other...
16
REST API (a few comments)
● Representational state transfer (REST)
● https://developers.marketo.com/rest-api/
● Libraries available for most popular languages
● Python library is well designed, easy to use for Python developers
https://github.com/jepcastelein/marketo-rest-python
17
Asset API: What is it good for?
● Bulk Clone Programs or Smart Campaigns
● Update Program Tags and Tokens
● Mass update and approve Emails and Landing Pages
18
Data API: What is it good for?
● Integrate a custom application or database
● Automate common UI tasks
○ Upload/Download List
○ Add/Remove/Query Program Membership
○ Bulk update fields
● Activity Data
● Update/Extract Custom Object Data
● Automate Merges
19
Bulk Program Creation Example
Problem 1:
I need to create and configure nearly 100 programs that are nearly the same...
That is going to take 2000 Clicks!
Problem 2:
I just cloned a program 100 times...and now I need to make a Flow Step change to
each one!
20
Bulk Program Creation: CSV for program data
Template Program ID New Name Folder ID Description Token: Subject Token: Asset Link
2456 Webinar:
Transforming...
107 2021 Nov 15 Webinar... Digital Transformation ... go.digitalpi.com/register123
2456 Webinar: Strategy.. 107 2021 Nov 18 Webinar... Strategy for Tracking ... go.digitalpi.com/register/345
2501 WhitePaper 201 WhitePaper Schedule... go.digitalpi.com/asset/716
2456 Webinar 201 2021 Dec 5 Webinar... Scheduling Assets... go.digitalpi.com/resgister/853
21
Bulk Program Creation: Solution
Clone Program API
• program ID to clone
• names and description
• folder
Set Token API
• program ID
• token name, token value
Delete Program API
• program ID
22
Bulk Program Creation: Python
23
Bulk Program Creation: Python
24
POLL: Merge
How do you manage duplicate records in Marketo?
● Manual merge
● Custom application
● Third-party tools
● We live with the pain
25
Marketo Merge
Problem 1
I have thousands of Marketo duplicates I need to Clean up!
Problem 2
The Merge functionality does not set fields they way I want
26
Marketo Merge Logic
● Losing lead activity is copied into winner’s activity log
Warning: This can kick off program Triggers
● Loser score added to winner’s score (behavior score)
Often seems “inflated”
● Winner’s fields persist -- unless they are empty
Not always desirable
● Loser will be deleted
Loser’s custom objects are NOT populated into winner
● Detailed SFDC Merge errors are not returned to Marketo
Lead – Contact merges causes implicit conversion
27
Marketo Merge
28
Marketo Merge
29
Marketo Merge
30
Marketo Merge: API
API to Merge Leads
● Winning Lead ID
● Losing Lead ID[s]
● Merge in CRM (true/false)
API to Update Winner (post Merge)
● Update Fields
● Update Score
31
Marketo Merge: Custom Script Requirements
● Pull duplicates from Static List
● Rules to pick winner:
● SFDC Type
● Key Fields
● Date
● Save key fields and scores from winners and losers
● Merge
● Update the winner fields accordingly
32
Form API (a few comments)
• https://developers.marketo.com/javascript-api/forms/
• Customize behavior and look of Marketo Forms
• Consistent Look and Feel for a Website
• Usability Enhancements
• Validation Requirements
• Translation
• Requires JavaScript knowledge
33
Form API (a few comments)
• https://developers.marketo.com/javascript-api/forms/
34
Form API Example Digital Pi Preference Center
35
Form API Example: Dynamic Translation
Problem 1:
I have a form that we need to translate to 20 languages!
Do I need to create 20 new forms?
Problem 2:
I have 20 versions of a form, and the picklist values are inconsistent, and now I
have a data problems!
36
Form: Dynamic Translation
● English
● Spanish
● JavaScript
37
Form Dynamic Translation: Demo
● https://mktosbx.digitalpi.com/translate.html
Show Code in Browser
● https://mktosbx.digitalpi.com/translate.html?lang=fr
https://mktosbx.digitalpi.com/translate.html?lang=jp
38
Summary
39
Questions?
40
41
Keep the conversation going!
Hello@digitalpi.com
Thank You!

More Related Content

PDF
Chatbots 101
PPTX
Lecture 05 - Prompt Engineering.pptx
PDF
그로스해킹 기초
PDF
Chatbots - A new era in digital banking
PDF
Awesome Prompts Naveed
PPTX
A KPI framework for startups
PDF
Text classification presentation
PDF
Get started with Dialogflow & Contact Center AI on Google Cloud
Chatbots 101
Lecture 05 - Prompt Engineering.pptx
그로스해킹 기초
Chatbots - A new era in digital banking
Awesome Prompts Naveed
A KPI framework for startups
Text classification presentation
Get started with Dialogflow & Contact Center AI on Google Cloud

What's hot (20)

PPTX
Growth Hacking
PDF
Omnichannel Marketing: How to achieve a truly integrated multichannel strategy
PDF
Creating a Demand Generation Budget From Scratch
PDF
Call Center AI Explained by Pop Culture
PDF
Chat GPT TEL Community of Practice
PPTX
Natural Language Processing using Text Mining
PPTX
Prompt Engineering Guide.pptx
PPTX
Sentiment analysis
PDF
Josh Cavalier - ChatGPT Prompt Strategies.pdf
PPTX
Get inside your Buyers Head - Improve Funnel Conversion Rates
PPTX
퍼포먼스마케터 양승현 포트폴리오
PDF
Growth marketing
PDF
Generative AI in telecom.pdf
PDF
社群行銷經營_ Slideshare
PPTX
Account Planning Template for Account-Based Marketing
PDF
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
PDF
ChatGPT and AI for web developers - Maximiliano Firtman
PDF
The Ultimate Guide To Repurposing Content
PPTX
Unlocking the Power of ChatGPT
PDF
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
Growth Hacking
Omnichannel Marketing: How to achieve a truly integrated multichannel strategy
Creating a Demand Generation Budget From Scratch
Call Center AI Explained by Pop Culture
Chat GPT TEL Community of Practice
Natural Language Processing using Text Mining
Prompt Engineering Guide.pptx
Sentiment analysis
Josh Cavalier - ChatGPT Prompt Strategies.pdf
Get inside your Buyers Head - Improve Funnel Conversion Rates
퍼포먼스마케터 양승현 포트폴리오
Growth marketing
Generative AI in telecom.pdf
社群行銷經營_ Slideshare
Account Planning Template for Account-Based Marketing
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
ChatGPT and AI for web developers - Maximiliano Firtman
The Ultimate Guide To Repurposing Content
Unlocking the Power of ChatGPT
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
Ad

Similar to "I didn't know Marketo could do that!" Do more with Custom Development (20)

PPTX
More than MOPS: Wall-to-Wall Automations
PDF
Nurturing API Platforms with API Analytics
PDF
Uncovering hidden stories in logs!
PDF
[WSO2 Integration Summit Bern 2019] Transforming Your Business through APIs
PPTX
Denver MuleSoft Meetup: Approve this! (or reject this!) with MuleSoft and Slack
PPTX
15 tips for bullet proof requirements analysis on SharePoint projects
PDF
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
PPTX
Machine Learning Platform @Flipkart - Slash N Conference 2018
PPTX
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
PDF
Addressing performance issues with API monitoring
PDF
architecting-ai-in-the-enterprise-apis-and-applications.pdf
PDF
MuleSoft Composer | Patna MuleSoft Meetup #14
PPTX
Meetup presentation-june26
PPTX
May MarTech Madness - London MUG May 18th
PDF
"Grokking System Design interview for Front-end engineer", Oleksii Levzhynskyi
PPTX
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
PDF
MuleSoft Nashik Meetup#5 - JSON Logger and Externalize Logs
PPTX
Sept 2022 Milwaukee Marketo User Group Presentation
PPTX
Anypoint DataGraph - Consume & Re-use your APIs faster | MuleSoft Mysore Meet...
PPTX
Group 3 slide presentation
More than MOPS: Wall-to-Wall Automations
Nurturing API Platforms with API Analytics
Uncovering hidden stories in logs!
[WSO2 Integration Summit Bern 2019] Transforming Your Business through APIs
Denver MuleSoft Meetup: Approve this! (or reject this!) with MuleSoft and Slack
15 tips for bullet proof requirements analysis on SharePoint projects
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Machine Learning Platform @Flipkart - Slash N Conference 2018
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Addressing performance issues with API monitoring
architecting-ai-in-the-enterprise-apis-and-applications.pdf
MuleSoft Composer | Patna MuleSoft Meetup #14
Meetup presentation-june26
May MarTech Madness - London MUG May 18th
"Grokking System Design interview for Front-end engineer", Oleksii Levzhynskyi
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
MuleSoft Nashik Meetup#5 - JSON Logger and Externalize Logs
Sept 2022 Milwaukee Marketo User Group Presentation
Anypoint DataGraph - Consume & Re-use your APIs faster | MuleSoft Mysore Meet...
Group 3 slide presentation
Ad

More from Digital Pi - A Merkle Company (14)

PPTX
Mission Possible: Get More Out of Your Eloqua Instance
PDF
Let's Talk MOps: Teams, Turnover & Trends
PDF
Make Friends with Marketo: How to Get What You Want from Your MOps Investment
PDF
Bridge the Bizible Gap: Turn Analytics into Actions
PPTX
The Future: Martech that Matters
PPTX
Campaign Operations: Tips to Scale your MOps in 2022
PPTX
Be a Marketing Show-Off: Create Killer SDFC Dashboards with Marketo Data
PPTX
The Future of B2B and Marketo Engage
PPTX
Marketo Frameworks: A Cheat Sheet to Building a Killer Instance
PPTX
Use Video Data to Generate, Score, and Convert More Leads
PPTX
How Healthy is Your Marketo Instance?
PPTX
10 Steps to Improve Marketo Data Quality
PPTX
[Marketo Top Tips] Take the Stress Out of Marketo Email Template Design
PPTX
How to Strategically Grow Your MOps Team, Stop Stressing, and Start Scaling
Mission Possible: Get More Out of Your Eloqua Instance
Let's Talk MOps: Teams, Turnover & Trends
Make Friends with Marketo: How to Get What You Want from Your MOps Investment
Bridge the Bizible Gap: Turn Analytics into Actions
The Future: Martech that Matters
Campaign Operations: Tips to Scale your MOps in 2022
Be a Marketing Show-Off: Create Killer SDFC Dashboards with Marketo Data
The Future of B2B and Marketo Engage
Marketo Frameworks: A Cheat Sheet to Building a Killer Instance
Use Video Data to Generate, Score, and Convert More Leads
How Healthy is Your Marketo Instance?
10 Steps to Improve Marketo Data Quality
[Marketo Top Tips] Take the Stress Out of Marketo Email Template Design
How to Strategically Grow Your MOps Team, Stop Stressing, and Start Scaling

Recently uploaded (20)

PDF
Unit 1 Cost Accounting - Cost sheet
PDF
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
DOCX
Business Management - unit 1 and 2
PDF
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
PPTX
Principles of Marketing, Industrial, Consumers,
PPTX
Probability Distribution, binomial distribution, poisson distribution
PDF
DOC-20250806-WA0002._20250806_112011_0000.pdf
PPTX
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
PDF
Solara Labs: Empowering Health through Innovative Nutraceutical Solutions
PPT
Chapter four Project-Preparation material
PDF
Reconciliation AND MEMORANDUM RECONCILATION
PDF
Laughter Yoga Basic Learning Workshop Manual
PDF
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
PDF
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
PDF
Chapter 5_Foreign Exchange Market in .pdf
PDF
Nidhal Samdaie CV - International Business Consultant
PPTX
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
PDF
How to Get Funding for Your Trucking Business
PDF
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
PDF
Roadmap Map-digital Banking feature MB,IB,AB
Unit 1 Cost Accounting - Cost sheet
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
Business Management - unit 1 and 2
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
Principles of Marketing, Industrial, Consumers,
Probability Distribution, binomial distribution, poisson distribution
DOC-20250806-WA0002._20250806_112011_0000.pdf
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
Solara Labs: Empowering Health through Innovative Nutraceutical Solutions
Chapter four Project-Preparation material
Reconciliation AND MEMORANDUM RECONCILATION
Laughter Yoga Basic Learning Workshop Manual
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
Chapter 5_Foreign Exchange Market in .pdf
Nidhal Samdaie CV - International Business Consultant
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
How to Get Funding for Your Trucking Business
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
Roadmap Map-digital Banking feature MB,IB,AB

"I didn't know Marketo could do that!" Do more with Custom Development

  • 1. Custom Development I Didn’t Know You Could Do That In Marketo! Interesting and useful applications of Marketo’s development features November 10, 2021 12:00 PM ET Peter Liske | Director, Marketing Technology – Digital Pi
  • 2. 2
  • 3. 3 HOUSEKEEPING Technical Support • Visit support.zoom.us Slides & Recording • This session is being recorded • On-demand video and slides will be shared via email with all registrants Feedback & Survey • Use the session chat to provide feedback and engage with other attendees • Tell us how we did in the post-session survey that will pop up after the session Questions & Chat • Submit questions at any time via the Q&A panel • Join in! Chat with attendees live using the chat feature at the bottom of your Zoom screen • Keep the conversation going on Twitter using #MarketoTopTips
  • 4. Velocity Tokens ● Email Content Customization Marketo Rest API ● Asset/Program Management ● Data Management Marketo Functional Areas We Will Explore Marketo Forms 2.0 API ● Form Customization
  • 5. 5 Poll: Rank your experience with Email Script Tokens ● None ● A little bit ● Extensively
  • 8. 8 When to use Velocity? ● Conditional Formatting ● Dates ● Combining many fields into one ● Tabular Display ● Custom Objects ● Program Membership ● “Lookup” Tables Good Primers on Velocity in Marketo: ● Sanford Whiteman (https://blog.teknkl.com/author/sanford/) ● Marketo Community Upping your Token Game: Getting Started with Velocity Script
  • 9. 9 VELOCITY LOOKUP TABLES #set($var = {"key": "value", … }) #set($office = {648: "Baldwin Park", 654: "East La Whittier", 655: "El Monte Valley"}) Office 648 is ${office[648]} Office 648 is Baldwin Park
  • 10. 10 VELOCITY LOOKUP TABLES : lookup lead fields #if ($lead.currentOfficeNumber != "") #set( $OfficeID = $convert.toInteger($lead.currentOfficeNumber)) Office ID ${OfficeID} is ${office[$OfficeID]}. #else Your current office number is not set. #end
  • 11. 11 VELOCITY LOOKUP TABLES: nested tables #set($var = {key: {key: value, …}, … }) The combined length of all Email Script Tokens in a given email may not exceed 100,000 bytes.
  • 12. 12 VELOCITY LOOKUP TABLES: example email
  • 13. 13 LOOKUP TABLES: another example email
  • 14. 14 LOOKUP TABLES: another example email
  • 15. 15 Poll: What languages have you used for API integration: ● None (we dont use the API) ● Java ● JavaScript/Node ● Python ● .NET/C# ● Other...
  • 16. 16 REST API (a few comments) ● Representational state transfer (REST) ● https://developers.marketo.com/rest-api/ ● Libraries available for most popular languages ● Python library is well designed, easy to use for Python developers https://github.com/jepcastelein/marketo-rest-python
  • 17. 17 Asset API: What is it good for? ● Bulk Clone Programs or Smart Campaigns ● Update Program Tags and Tokens ● Mass update and approve Emails and Landing Pages
  • 18. 18 Data API: What is it good for? ● Integrate a custom application or database ● Automate common UI tasks ○ Upload/Download List ○ Add/Remove/Query Program Membership ○ Bulk update fields ● Activity Data ● Update/Extract Custom Object Data ● Automate Merges
  • 19. 19 Bulk Program Creation Example Problem 1: I need to create and configure nearly 100 programs that are nearly the same... That is going to take 2000 Clicks! Problem 2: I just cloned a program 100 times...and now I need to make a Flow Step change to each one!
  • 20. 20 Bulk Program Creation: CSV for program data Template Program ID New Name Folder ID Description Token: Subject Token: Asset Link 2456 Webinar: Transforming... 107 2021 Nov 15 Webinar... Digital Transformation ... go.digitalpi.com/register123 2456 Webinar: Strategy.. 107 2021 Nov 18 Webinar... Strategy for Tracking ... go.digitalpi.com/register/345 2501 WhitePaper 201 WhitePaper Schedule... go.digitalpi.com/asset/716 2456 Webinar 201 2021 Dec 5 Webinar... Scheduling Assets... go.digitalpi.com/resgister/853
  • 21. 21 Bulk Program Creation: Solution Clone Program API • program ID to clone • names and description • folder Set Token API • program ID • token name, token value Delete Program API • program ID
  • 24. 24 POLL: Merge How do you manage duplicate records in Marketo? ● Manual merge ● Custom application ● Third-party tools ● We live with the pain
  • 25. 25 Marketo Merge Problem 1 I have thousands of Marketo duplicates I need to Clean up! Problem 2 The Merge functionality does not set fields they way I want
  • 26. 26 Marketo Merge Logic ● Losing lead activity is copied into winner’s activity log Warning: This can kick off program Triggers ● Loser score added to winner’s score (behavior score) Often seems “inflated” ● Winner’s fields persist -- unless they are empty Not always desirable ● Loser will be deleted Loser’s custom objects are NOT populated into winner ● Detailed SFDC Merge errors are not returned to Marketo Lead – Contact merges causes implicit conversion
  • 30. 30 Marketo Merge: API API to Merge Leads ● Winning Lead ID ● Losing Lead ID[s] ● Merge in CRM (true/false) API to Update Winner (post Merge) ● Update Fields ● Update Score
  • 31. 31 Marketo Merge: Custom Script Requirements ● Pull duplicates from Static List ● Rules to pick winner: ● SFDC Type ● Key Fields ● Date ● Save key fields and scores from winners and losers ● Merge ● Update the winner fields accordingly
  • 32. 32 Form API (a few comments) • https://developers.marketo.com/javascript-api/forms/ • Customize behavior and look of Marketo Forms • Consistent Look and Feel for a Website • Usability Enhancements • Validation Requirements • Translation • Requires JavaScript knowledge
  • 33. 33 Form API (a few comments) • https://developers.marketo.com/javascript-api/forms/
  • 34. 34 Form API Example Digital Pi Preference Center
  • 35. 35 Form API Example: Dynamic Translation Problem 1: I have a form that we need to translate to 20 languages! Do I need to create 20 new forms? Problem 2: I have 20 versions of a form, and the picklist values are inconsistent, and now I have a data problems!
  • 36. 36 Form: Dynamic Translation ● English ● Spanish ● JavaScript
  • 37. 37 Form Dynamic Translation: Demo ● https://mktosbx.digitalpi.com/translate.html Show Code in Browser ● https://mktosbx.digitalpi.com/translate.html?lang=fr https://mktosbx.digitalpi.com/translate.html?lang=jp
  • 40. 40
  • 41. 41 Keep the conversation going! Hello@digitalpi.com