{"id":89294,"date":"2025-08-07T04:40:40","date_gmt":"2025-08-07T11:40:40","guid":{"rendered":"https:\/\/rightwave.com\/rwi\/?p=89294"},"modified":"2025-08-07T07:02:58","modified_gmt":"2025-08-07T14:02:58","slug":"how-to-personalize-marketo-emails-with-multiple-dynamic-values-per-company","status":"publish","type":"post","link":"https:\/\/rightwave.com\/rwi\/how-to-personalize-marketo-emails-with-multiple-dynamic-values-per-company","title":{"rendered":"How to Personalize Marketo Emails with Multiple Dynamic Values Per Company"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"89294\" class=\"elementor elementor-89294\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5d7c0653 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5d7c0653\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-274212e4\" data-id=\"274212e4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-33cdbe5c elementor-widget elementor-widget-text-editor\" data-id=\"33cdbe5c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t\n<h2 class=\"wp-block-heading\"><\/h2>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4909487 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4909487\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0d91260\" data-id=\"0d91260\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a2e4266 elementor-widget elementor-widget-text-editor\" data-id=\"a2e4266\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"182\" data-end=\"423\">Personalization at scale is one of the biggest promises of Marketing Automation. But what happens when you need to send <em data-start=\"315\" data-end=\"338\">one email per company<\/em> and include <em data-start=\"351\" data-end=\"397\">a dynamic, variable-length list of employees<\/em> specific to that company?<\/p>\n<p data-start=\"425\" data-end=\"538\">This is a challenge one of our clients recently faced\u2014one that many enterprise Marketing Ops teams can relate to.<\/p>\n<p data-start=\"540\" data-end=\"748\">At RightWave, we often work with RevOps teams on complex campaign operations, and this scenario reminded us how important it is to balance automation sophistication with data readiness and system constraints.<\/p>\n<p data-start=\"750\" data-end=\"802\">Let\u2019s walk through the challenge and some solutions.<\/p>\n<h3 data-start=\"809\" data-end=\"827\">The Problem:<\/h3>\n<p data-start=\"828\" data-end=\"1010\">The campaign goal was simple\u2014notify admin users at a few hundred companies about which employees from their organization <em data-start=\"940\" data-end=\"963\">don\u2019t yet have access<\/em> to an internal platform. But here\u2019s the twist:<\/p>\n<ul data-start=\"1012\" data-end=\"1260\">\n<li data-start=\"1012\" data-end=\"1087\">\n<p data-start=\"1014\" data-end=\"1087\">Each company could have anywhere from 1 to 20+ employees who need access.<\/p>\n<\/li>\n<li data-start=\"1088\" data-end=\"1193\">\n<p data-start=\"1090\" data-end=\"1193\">Tokens alone wouldn\u2019t work since they can&#8217;t dynamically populate multi-line values for an entire group.<\/p>\n<\/li>\n<li data-start=\"1194\" data-end=\"1260\">\n<p data-start=\"1196\" data-end=\"1260\">The entire process had to be scalable and automated via Marketo.<\/p>\n<\/li>\n<\/ul>\n<h3 data-start=\"1267\" data-end=\"1319\">The Challenge with Tokens and Personalization:<\/h3>\n<p data-start=\"1320\" data-end=\"1504\">Marketo\u2019s default tokenization is great for static fields or single values. But it falls short when you want to insert a list (e.g., 10 employee names) that\u2019s specific to each company.<\/p>\n<p data-start=\"1506\" data-end=\"1688\">You might consider using Velocity Scripting, but even that comes with limits\u2014by default, Marketo only allows 20 custom object records to be returned unless manually increased to 100.<\/p>\n<h3 data-start=\"1695\" data-end=\"1729\">Possible Solutions Explored:<\/h3>\n<h4 data-start=\"1731\" data-end=\"1808\"><strong data-start=\"1736\" data-end=\"1806\">1. Populate a Long Text Field on the Account Object in Salesforce:<\/strong><\/h4>\n<p data-start=\"1809\" data-end=\"2046\">If your Marketo instance is synced with Salesforce, one approach is to populate a long text field on the Account object with the names\/emails of inactive users. This field can then be tokenized using<br \/><br \/><code data-start=\"2009\" data-end=\"2045\">{{lead.Account.InactiveUsersList}}<\/code>.<\/p>\n<blockquote data-start=\"2048\" data-end=\"2148\">\n<p data-start=\"2050\" data-end=\"2057\">Pros:<\/p>\n<ul data-start=\"2060\" data-end=\"2148\">\n<li data-start=\"2060\" data-end=\"2115\">\n<p data-start=\"2062\" data-end=\"2115\">Works natively if you have an Account sync in place<\/p>\n<\/li>\n<li data-start=\"2118\" data-end=\"2148\">\n<p data-start=\"2120\" data-end=\"2148\">No velocity scripting needed<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<blockquote data-start=\"2150\" data-end=\"2271\">\n<p data-start=\"2152\" data-end=\"2159\">Cons:<\/p>\n<ul data-start=\"2162\" data-end=\"2271\">\n<li data-start=\"2162\" data-end=\"2211\">\n<p data-start=\"2164\" data-end=\"2211\">Requires Salesforce-Marketo sync to be active<\/p>\n<\/li>\n<li data-start=\"2214\" data-end=\"2271\">\n<p data-start=\"2216\" data-end=\"2271\">Maintenance effort on SFDC side to populate the field<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<h4 data-start=\"2278\" data-end=\"2340\"><strong data-start=\"2283\" data-end=\"2338\"><br \/>2. Use a Marketo Custom Object and Velocity Script:<\/strong><\/h4>\n<p data-start=\"2341\" data-end=\"2525\">Another approach is to create a <strong data-start=\"2373\" data-end=\"2390\">custom object<\/strong> in Marketo to house the list of employees without access. You can then use Velocity Script to iterate over these records in the email.<\/p>\n<blockquote data-start=\"2527\" data-end=\"2647\">\n<p data-start=\"2529\" data-end=\"2536\">Pros:<\/p>\n<ul data-start=\"2539\" data-end=\"2647\">\n<li data-start=\"2539\" data-end=\"2574\">\n<p data-start=\"2541\" data-end=\"2574\">Scalable and clean architecture<\/p>\n<\/li>\n<li data-start=\"2577\" data-end=\"2647\">\n<p data-start=\"2579\" data-end=\"2647\">Can be fully automated if the data is synced or uploaded regularly<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<blockquote data-start=\"2649\" data-end=\"2826\">\n<p data-start=\"2651\" data-end=\"2658\">Cons:<\/p>\n<ul data-start=\"2661\" data-end=\"2826\">\n<li data-start=\"2661\" data-end=\"2692\">\n<p data-start=\"2663\" data-end=\"2692\">Requires advanced scripting<\/p>\n<\/li>\n<li data-start=\"2695\" data-end=\"2760\">\n<p data-start=\"2697\" data-end=\"2760\">Default limit of 20 records (can be extended to 100 in Admin)<\/p>\n<\/li>\n<li data-start=\"2763\" data-end=\"2826\">\n<p data-start=\"2765\" data-end=\"2826\">Needs careful linking via composite keys (email + account ID)<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<h4 data-start=\"2833\" data-end=\"2885\"><strong data-start=\"2838\" data-end=\"2883\"><br \/>3. Manual List Uploads (Quick and Dirty):<\/strong><\/h4>\n<p data-start=\"2886\" data-end=\"3096\">If the list of users is already available and mapped to their respective admin emails, one of the simplest solutions is to manually import this information into a <strong data-start=\"3049\" data-end=\"3065\">custom field<\/strong> on the Lead or Contact record.<\/p>\n<blockquote data-start=\"3098\" data-end=\"3205\">\n<p data-start=\"3100\" data-end=\"3107\">Pros:<\/p>\n<ul data-start=\"3110\" data-end=\"3205\">\n<li data-start=\"3110\" data-end=\"3132\">\n<p data-start=\"3112\" data-end=\"3132\">Quick to implement<\/p>\n<\/li>\n<li data-start=\"3135\" data-end=\"3169\">\n<p data-start=\"3137\" data-end=\"3169\">No CRM or scripting dependency<\/p>\n<\/li>\n<li data-start=\"3172\" data-end=\"3205\">\n<p data-start=\"3174\" data-end=\"3205\">Tokenizable in the email body<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<blockquote data-start=\"3207\" data-end=\"3327\">\n<p data-start=\"3209\" data-end=\"3216\">Cons:<\/p>\n<ul data-start=\"3219\" data-end=\"3327\">\n<li data-start=\"3219\" data-end=\"3272\">\n<p data-start=\"3221\" data-end=\"3272\">Manual effort (although it can be semi-automated)<\/p>\n<\/li>\n<li data-start=\"3275\" data-end=\"3327\">\n<p data-start=\"3277\" data-end=\"3327\">Risk of data staleness if not updated frequently<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<h3 data-start=\"3334\" data-end=\"3362\"><br \/>Our Take at RightWave:<\/h3>\n<p data-start=\"3363\" data-end=\"3445\">The <em data-start=\"3367\" data-end=\"3373\">best<\/em> solution depends on your stack maturity, time, and scalability needs.<\/p>\n<p data-start=\"3447\" data-end=\"3740\">If you have Salesforce tightly integrated, the long-text field token approach is elegant and easy. If you&#8217;re more advanced and have dev support, a custom object + Velocity Script gives you more control. And if this is a one-off campaign, the manual upload method wins for simplicity and speed.<\/p>\n<p data-start=\"3742\" data-end=\"3918\">RightWave helps marketing teams build smart solutions like this\u2014bridging campaign goals with platform constraints, while ensuring every email is relevant, timely, and scalable.<\/p>\n<p data-start=\"3925\" data-end=\"4046\"><strong data-start=\"3925\" data-end=\"3997\">Need help scaling your campaign operations in Marketo or other MAPs?<\/strong><br data-start=\"3997\" data-end=\"4000\" \/>We\u2019re always up for a challenge. Let\u2019s talk.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Personalization at scale is one of the biggest promises of Marketing Automation. But what happens when you need to send one email per company and include a dynamic, variable-length list of employees specific to that company? This is a challenge one of our clients recently faced\u2014one that many enterprise Marketing Ops teams can relate to.&hellip;<\/p>\n","protected":false},"author":45,"featured_media":89301,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-89294","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-welcome"],"_links":{"self":[{"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/posts\/89294","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/users\/45"}],"replies":[{"embeddable":true,"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/comments?post=89294"}],"version-history":[{"count":22,"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/posts\/89294\/revisions"}],"predecessor-version":[{"id":89332,"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/posts\/89294\/revisions\/89332"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/media\/89301"}],"wp:attachment":[{"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/media?parent=89294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/categories?post=89294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rightwave.com\/rwi\/wp-json\/wp\/v2\/tags?post=89294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}