Skip to main content

Marketo

Integrate with Marketo to capture form submissions, implement reCAPTCHA protection, and enable contact data pre-population.

Updated over a year ago

Formulayt forms can send submissions to Marketo via the Marketo Forms API 2.0 to capture user data within your Marketo instance. Additionally, Formulayt can retrieve contact information for form pre-population using the Marketo REST API.

Form Submission Capture

Basic Setup

  1. Create a Marketo form to capture data from Formulayt form submissions:

    • Typically, only a single Marketo form is needed

    • Include all possible fields from all Formulayt form types, including hidden fields

    • Disable validation on all fields (validation rules can cause form submissions to fail)

    • Ensure all Formulayt field names match the HTML name (SOAP API name) of the receiving fields on your Marketo forms

  2. Add these details in the Formulayt Apps area:

    • Marketo account ID

    • Form submission URL

Using Multiple Marketo Forms

If you intend to use multiple Marketo forms:

  • Use the Submission URL Override feature on the form type editor to control which form submits to which Marketo form

  • Note that Formulayt can only submit to one Marketo form at a time

  • You can use reposts within Marketo to re-submit to other Marketo forms if necessary

Overriding the Marketo Form ID for Specific Gates

Because form submissions to Marketo use the JS Forms API, you can't use the standard "Override submission URL" option. Instead:

  1. Create a new hidden field called "marketoFormIDOverride"

  2. When this field exists on a gate and contains a value, it's treated as a Marketo form ID

  3. The submission will be sent to this form instead of the account default

  4. Use rules or pre-population settings to set values in this field as needed

Anti-Spam Measures

Marketo offers spam protection powered by Google reCAPTCHA. To use this with Formulayt:

Important Note: Using Marketo anti-spam means you cannot mix both Formulayt forms and Marketo forms on the same web page, as both will try to initialize the Google reCAPTCHA script.

Follow these steps carefully:

  1. Register and generate Google reCAPTCHA keys following the Marketo documentation

  2. In your Formulayt account:

    • Create a new hidden field called "captchaToken"

    • Navigate to the Apps section

    • Activate the Google reCAPTCHA App

    • Enter the same two reCAPTCHA keys that you added to Marketo

    • Select the "captchaToken" field as the "Token field"

    • Clear your account cache

  3. Enable reCAPTCHA on the specific Marketo form that receives your Formulayt submissions following the Marketo documentation

  4. Test your Formulayt forms to ensure there are no errors and submissions are received in Marketo

Note: Do not activate reCAPTCHA on the Marketo form until you have completed all preceding steps.

Pre-Population Data Setup

For data pre-population, create an API account specifically for Formulayt following the official Marketo instructions with read access to:

  • API - Lead (Read Only)

To activate the integration, provide:

  • Munchkin ID for your Marketo account (typically an 11-character string)

  • Marketo form ID(s) for the form(s) that will capture submissions

  • App URL for your Marketo instance

  • For the API account:

    • Client ID

    • Client secret

    • REST endpoint URL

    • REST identity URL

Note that Marketo uses REST API field names for pre-population.

Email Token Pre-Population

Since pre-population based on Marketo email tokens only works on Marketo landing pages:

  1. Create a landing page in Marketo containing a form with all fields you want to pre-populate

  2. This page must be on the same primary domain as the one where Formulayt gates will be used

  3. Ensure this page contains:

  4. Add the URL of this landing page in the Formulayt Apps area

Important Note

For pre-population to work, you must include the Marketo tracking script on any webpage where Formulayt gates are located.

Did this answer your question?