Embedded Global Marketo Form Overrides

Using Marketo forms brings many benefits to your business. The forms are easy to create, customize and style without the need for a developer. They integrate easily into campaigns, allowing you to track performance and assign attribution to new names in your database. However, creating and maintaining a new form for each program is time consuming and leaves room for error. Unfortunately, when Marketo forms are embedded on your main website, they also have a few limitations that conflict with a global form strategy. In this post, we’ll explore the benefits of a global form strategy, as well as provide a solid solution for a couple of key drawbacks.

The goal of a global form strategy is to have as few forms in Marketo as possible, for a handful of very good reasons, such as:

  • to simplify ongoing maintenance;
  • to ensure good data hygiene;
  • to standardize inputs for scoring and other operational processing;
  • and to save valuable time not reinventing the wheel (form) for each new campaign.

When it comes to managing a scalable, efficient Marketo instance, a global form strategy is simply a best practice.

It does have some drawbacks, however—namely, that Marketo forms can have one, and only one, value for CTA button text and a follow-up URL. These values are hard-coded into the forms themselves via the settings in the Marketo form builder UI.

On a Marketo landing page, these issues are easily overcome. Marketo’s landing page editor natively allows marketers to override the form’s default follow-up URL when placing the form on the page. For the button text, there are at least a couple of simple approaches to override these hard-coded form values, either with some clever architecture using program tokens or on-page variables and a little snippet of JavaScript. Together, these tactics very effectively override the hard-coded form values and allow different button text and follow-up URLs at the program or page level.

But when those same global forms are embedded on the website rather than a Marketo landing page, the options available are no longer present. So what to do? That’s a great question, fellow MOps practitioner!

We still need a solution in cases where the Marketo form is embedded somewhere other than a Marketo landing page, such as on a WordPress website or on an Unbounce landing page. (Yes, I have certainly seen these used side-by-side with Marketo landing pages.) In these scenarios, it may be possible, given the right developer resources and with some custom CMS development, to use a similar approach as Marketo landing pages—configure on-page variables or custom fields in the CMS that override the global form’s defaults at the page level. Then you can enter custom values directly in the CMS to override the CTA button text and/or follow-up URL for each page. You could even do nifty things like creating a picklist of global forms so the marketer can easily choose which global form to embed at the page level. If you have the requisite development resources, more power to you! That is probably the best solution because it allows in-context assignment of these values and provides a more streamlined workflow.

However, it is often difficult for swamped, beleaguered marketers to get IT and web development help, especially on the marketer’s timeline—that is, “I need it yesterday.”

It may surprise some readers that Google Sheets provides an elegant mechanism for this. It can be used to set up a scalable infrastructure that accomplishes two objectives for our clients:

  1. allow the Marketing team a simple, familiar interface (a spreadsheet) to quickly and easily manage page-level form customizations for embedded global forms;
  2. provide a systems-agnostic solution that will work anywhere a Marketo form is embedded—WordPress, Unbounce, Drupal, Sitecore, etc.—or even on a Marketo LP.

This three-column Google Sheet requires the Marketing team to enter only three values:

  1. Page URL
  2. Follow-up URL (thank-you page URL)
  3. CTA button text

New rows can be easily added when new pages with Marketo forms are created (in whatever system the new pages may live). This approach also centralizes and standardizes the repository for this data. Despite the deployment of forms on multiple and disparate systems, the methodology for page-level embedded form customization is the same. An added benefit is that if you switch platforms—for example, if you move from Unbounce to Leadpages or from WordPress to Sitecore—the same methodology will continue to work with the new systems just as well as with the old. It is a CMS-agnostic approach that will scale as the business grows and needs change.

To work with the Sheet and parse the data in it to perform the form customizations, there is a corresponding script that will need to be deployed alongside the embedded forms. The Adobe Launch subscription bundled with many Marketo subscriptions works well for this, as does Google Tag Manager. The script downloads the content of the Google Sheet, compares the list of URLs to the current page’s URL and looks for a match—basically performing a VLOOKUP. If a match is found, the values from the Redirect URL and Submit Button Text columns  are used to override the form’s default button text and follow-up URL. If no values are found on the Sheet, then the form’s default values remain.

To learn more about implementing a global form strategy or custom script for your business, please reach out and tell us more about your needs. We’d love to help!

Share this resource
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Tags