Program templates and tokens in Marketo
Clone the template program, change the tokens, approve the emails, schedule the send. It is the closest Marketo comes to self-service out of the box and a good Ops team can get a campaign down to minutes with it. It still needs a marketer who knows Marketo well enough not to touch the other 90 percent of the program.
Updated
In short
Marketo doesn’t have a separate object for program templates. Teams build a program the way they want every campaign of that type to look, store its variable parts in My Tokens such as the event date, the CTA link and the headline and clone it for each new campaign. Cloning copies the program and its assets, though lists of a thousand or more people come across empty and period costs don’t transfer. Tokens are inherited down the folder tree and can be overridden per program. The pattern is quick in the hands of someone who understands it and depends on that understanding: the cloned program is fully editable, emails have to be approved, the audience is still chosen by hand, there is no approval workflow and naming is manual. Campaign Launchpad wraps the same clone-and-fill step in a wizard Ops configures so a marketer supplies the variable parts and never opens the program.
The clone-and-fill pattern
Marketo doesn’t have a separate object called a program template. What it has is programs, cloning and tokens and Marketo Ops teams have been combining the three for a decade to get the same effect. You build one webinar program exactly the way you want every webinar program to be: the emails, the landing page, the smart campaigns that send invitations and reminders and update statuses, the local list, the tags. You pull every value that changes from one webinar to the next out into tokens. Then for each new webinar someone clones the program, fills in the tokens and the program is ready.
Adobe’s own cloning page suggests combining cloning with tokens to speed up new programs and a long-running community thread describes getting a program build down to around ten minutes this way. Done well it is genuinely fast.
How cloning works
From the Program Actions menu choose Clone, pick a destination folder or workspace, name the new program and create it. Adobe says the feature will “clone an entire program and all its assets,” with two caveats worth knowing before you rely on it:
- Local lists behave differently by size. If a list has 1,000 or more people “the list itself will get cloned, but it will be empty.” Smaller lists come across with their members.
- “Period costs will not transfer over,” so a program that carries a cost for reporting needs it re-entered.
Cloning into another workspace adds a condition: any templates, snippets or other dependencies the program uses have to be shared with that workspace first. Programs that already have members can’t be moved between workspaces at all.
Adobe also maintains a Program Import Library of starter programs for email, engagement, event, scoring and operational use cases, importable by anyone whose role has the Import Program permission. Imported programs arrive with their trigger campaigns deactivated and their schedules cleared and emails containing snippets or dynamic content are skipped. Most teams treat them as a starting point for their own templates rather than as templates in themselves.
How tokens work
My Tokens are custom variables created on a program or a campaign folder and referenced as {{my.Token Name}} in emails, landing pages and flow steps. Adobe lists the types: Text, with a limit of 524,288 characters, Rich Text for HTML, Date, Number, Calendar File for an .ics attachment, Email Script for Velocity, Score for the change score flow step and SFDC Campaign for adding program members to a Salesforce campaign.
What makes them useful for templates is inheritance. A token can be local to a program, inherited from a folder above it or overridden which Adobe describes as “an inherited token that someone changed at a lower level.” So a Webinars folder can define {{my.Webinar Platform}} once and every program under it uses that value until one program needs a different one. A well-built template program is mostly tokens: {{my.Event Date}}, {{my.Event Time}}, {{my.Registration URL}}, {{my.Speaker Name}}, {{my.Hero Image}}. The emails and landing pages reference the tokens, the flow steps reference the tokens and a new webinar is a clone with new token values.
The pattern has edges. Adobe warns that “moving programs or folders can break token references.” Nested tokens aren’t supported in batch campaigns. My Tokens “will not resolve when sending an email from Sales Insight.” And a token value is only as right as whoever typed it.
Where clone-and-fill needs a Marketo user
For an Ops team that owns Marketo the pattern is a productivity tool. The pattern asks more when it is offered to marketers as self-service, because the clone is a complete, editable program and the marketer is standing inside it.
The whole program is editable
Cloning doesn’t lock anything. The new program has the same smart lists, flow steps, schedules and assets as the template and a user whose role includes Edit Marketing Asset can change all of them. The template is a convention about which parts to touch and keeping to it is up to the person. The classic failure is a marketer who edits the smart list on the clone to “add a few people” and sends to a different audience than the template intended.
Emails have to be approved, every time
Edits to a cloned email create a draft and Marketo keeps sending the previously approved version until someone approves the draft. A marketer who changes the token values, previews the email and schedules the send without approving has scheduled the old content. Marketo blocks scheduling an entirely unapproved email but a draft on an approved one gets a warning at best. Separating Edit Email from Approve Email in roles catches this by making approval Ops’s job which brings the ticket back.
Tokens take the values they are given
A date token with the wrong year, a URL token pointing at the staging site, a Rich Text token with a pasted paragraph that brings its own fonts. Tokens accept text. Whether the text is right is a review question and Marketo has no approval workflow on programs beyond asset approval.
The audience is still manual
The template program’s smart list has to be pointed at the right people for this campaign, or the right static list imported into it. Choosing a smart list is choosing from everything the user’s workspace can see. Importing a list is a list import with all the usual mapping decisions and none of the usual checks.
Naming, tags and channels are by hand
The clone is named whatever the person typed. Program channel, tags and period cost are set however they were set, or not. All program reporting depends on consistent names and tags and it degrades one clone at a time.
The marketer is a Marketo user
They need a license, a role in the right workspace and enough training to clone, find tokens, approve emails and schedule without wandering into the flow steps. Every new marketer repeats the training. Every Marketo release changes something.
Results stay in Marketo
The program’s Email Performance and Program Performance reports are in the program, in Marketo, behind the login. The day-after question goes to Ops.
Tools that clone for you
Because the pattern is so established, several tools automate the cloning step. Knak and Stensul can clone a program when they push an email into Marketo and can schedule the send. Jeto turns a form into a cloned program with the form’s answers in the tokens. Campaign Launchpad does the same from a wizard. The comparison of Knak, Stensul, Jeto and Campaign Launchpad goes through what each one covers beyond the clone which is where they differ most.
Program templates in Campaign Launchpad
Campaign Launchpad is built on the same foundation: Ops builds and tokenizes the template program in Marketo exactly as it does today. The difference is who runs the clone and what they can touch while doing it.
Ops configures a wizard for each template program. The wizard asks the marketer for the values the template leaves open: the date, the speaker, the product, the region. Launchpad clones the program, writes the answers into the tokens and names the program and its assets by your naming convention from the same answers. The email is built in Launchpad’s editor inside a locked template so the marketer writes the copy in the zones Ops opened and the rest can’t move. The audience comes from the lists Ops allowed for that wizard or from a file Launchpad validates before anything is imported. Approvals route to whoever Ops named for that kind of campaign, with as many levels as it needs and the send is scheduled once they have signed off.
The marketer never opens Marketo so the clone’s smart lists, flow steps and schedules can’t be edited by accident, the email can’t go out unapproved and nothing is named by hand. When a campaign needs a change the template doesn’t anticipate, the wizard hands that step to Ops with the request attached rather than leaving the marketer to improvise in the program. Results come back to the marketer in Launchpad, broken out by campaign, template and sender for Ops. The same wizards run against Eloqua campaigns and one Launchpad account can cover any number of Marketo and Eloqua instances.
Frequently asked questions
- Does Marketo have program templates?
- Not as a distinct object. A template is an ordinary program, usually in a Templates folder, built and tokenized so that it can be cloned for each campaign. Adobe also offers a Program Import Library of starter programs built by its product team that can be imported into an instance.
- What gets copied when you clone a Marketo program?
- The program and its local assets. Adobe notes two exceptions: a local list with 1,000 or more people is cloned empty, while smaller lists keep their members and period costs don’t transfer. If the program uses templates or snippets shared from another workspace, those have to be shared with the destination workspace first.
- What are My Tokens in Marketo?
- Custom variables written as {{my.Token Name}} that are created in a program or a campaign folder and used in emails, landing pages and flow steps. Types include Text, Rich Text, Date, Number, Calendar File, Email Script, Score and SFDC Campaign. A token defined on a folder is inherited by the programs below it and can be overridden in any of them.
- Why don’t my tokens resolve after moving a program?
- Because inherited tokens come from the folder tree. Adobe warns that moving programs or folders can break token references so check them after any move. My Tokens also don’t resolve in emails sent from Sales Insight and nested tokens aren’t supported in batch campaigns.
- Can a marketer break a cloned Marketo program?
- Yes, in any way their role allows. A clone is a full program. A user with Edit Marketing Asset can change the smart list, the flow steps and the schedule as well as the tokens and a user with Edit Email can change anything in the email the template leaves editable. Roles limit what kinds of thing they can touch, not which parts of this program.
- How do Knak, Jeto and Campaign Launchpad use Marketo program templates?
- All three clone a template program so the marketer doesn’t. Knak clones a program when it pushes an email and can schedule the send. Jeto turns a form into a clone with the form’s values in the tokens and launches once approved. Campaign Launchpad does the same in a wizard Ops configures and can also update existing assets, validate and import lists, hand a step to Ops and report results back, in Marketo and Eloqua. The comparison guide covers the details.
- Does Campaign Launchpad replace Marketo program templates?
- No, it runs on them. Ops builds the template program and tokens in Marketo the way it does today. Launchpad’s wizard clones it, fills the tokens from the marketer’s answers, names the program by your convention, builds the email in a locked template, attaches the audience, routes approvals and schedules the send, with every program landing in your own Marketo instance.