Add the hidden attribution fields to your live forms
No. Hidden form fields reads the form list out of your connected tool, and writes the tracking fields onto the ones you tick, 50 forms at a time. This article covers the tracking fields. To put some other field you already have onto a set of forms, use Add fields to forms instead.
Before you start
Create the tracking properties in your tool first. A hidden field can only be added for a property that exists, and Marketo refuses a field that is not on the lead record.
Permissions required
HubSpot needs the forms scope on your private app. Add it at app.hubspot.com/l/private-apps — open your MarqIQ app, tick forms under Scopes, save, then reconnect HubSpot in MarqIQ. Without it every form answers with a 403.
Permissions required
Marketo needs Read-Write Assets on the role behind your LaunchPoint service. Marketo has no link to open, because its admin screens sit on your own instance's sign-in host: go to Admin, Security, Users & Roles, Roles to edit the role, and Admin, Integration, LaunchPoint to see which service uses it.
Tip
Install the tracking script before you do this. The fields are filled by the script in the visitor's browser, so an empty hidden field on a live form does no harm and no good until the script is there.
Check your Marketo forms for pending drafts first
A Marketo edit lands in a draft, and MarqIQ approves that draft straight after so the fields go live. Approving publishes the whole draft, not only MarqIQ's fields — anything a colleague left unapproved on that form goes live at the same time, on every page that embeds it. Look through the forms you are about to tick before you run this.
Write the fields onto your forms
Open Tool Operations in the sidebar, pick your tool, and open Hidden Form Fields.
The page itself is headed Hidden Form Fields.
Choose your tool under Tool.
Only HubSpot and Marketo appear. They are the two connected tools with a form-write API MarqIQ can use.
Choose the field sets under Fields to add.
Most Recent (Last Touch) · 9 is selected by default and is the set you want. First Touch · 8 adds the original-source fields as well. The count beside the buttons reads "N hidden fields per form", so you know how many inputs each form is about to gain.
Type into Search forms… to narrow the list.
The header above the list names your tool and counts your selection — "Forms in HubSpot (4 selected)".
Tick each form that should carry the tracking values.
Include every form that creates a contact, not only the demo form. Footer newsletter boxes and old landing pages are the two that get missed.
Or click Select all to tick every form currently shown.
Select all only ticks what the search has narrowed to. It then reads Clear.
Read the badge on the right of each HubSpot form row.
A HubSpot row says All fields added, or a count such as "3/9 added", before you do anything — so you can leave a finished form alone. The count is against the sets you ticked under Fields to add, so it changes when you tick First Touch.
Marketo rows carry no badge. Marketo needs a separate request per form to say what is already on it, so MarqIQ resolves that as the fields are written and reports it in the result instead.
Click Add to N forms.
Read the green panel that follows.
It reads "Done — N hidden fields added across M forms", then one line per form giving how many were added, how many were already present, and any message your tool returned.
Fifty forms per run
One run writes to at most 50 forms. Anything selected beyond the first 50 is dropped without a warning, so if you ticked 200 forms, run it four times. The presence badge refreshes after each run, so the next batch is one search away.
What lands on the form
Each field is added as a hidden input. Visitors never see it and it is not part of the form layout. The tracking script fills it on page load, again when the page changes, and once more as the form is submitted.
The names written are MarqIQ's standard names, unless you have pointed a field somewhere else on Field mapping — a mapping always wins, and the script is rebuilt to fill your own name.
| Field set | Count | What fills it |
|---|---|---|
| Most Recent (Last Touch) | 9 | The tracking script, from the visitor's cookies and the current URL |
| First Touch | 8 | The source tracking workflow, which copies each Most Recent value across once |
The two sets offered under Fields to add.
The First Touch fields are not filled by the script
Under their default names — utm_source, utm_medium, utm_campaign, utm_content, utm_term, entry_url, current_url and referral_url — the First Touch fields are not among the 34 names the tracking script fills. Adding them to a form does not make them arrive with a value. Three things do write first touch. The workflow on First-touch backfill copies each Most Recent value across once. Or you record your own name for each First Touch field on Field mapping, which is compiled into the script you are served, with the first-touch cookie behind it. Or the field is already named one the script recognises — first_utm_source, utm_source_first_touch or UTM_Source_First_Touch__c, and the same three spellings for medium, campaign, content and term. The three URL fields have only the first spelling: first_entry_url, first_current_url and first_referral_url.
How much of your form estate this reaches
MarqIQ reads up to 1,000 HubSpot forms and up to 200 Marketo forms into the list. Archived HubSpot forms are left out. A larger instance will not see all of its forms on this screen.
Marketo edits are written into a draft. MarqIQ asks Marketo to approve the draft straight after, and the result line says which happened: "Draft approved — live." or "Fields added as a DRAFT — approve the form in Marketo to go live." An approval publishes everything in that draft, so a form somebody was midway through editing goes live with your change.
The forms MarqIQ cannot write to
Check this list before you plan the work. The first two are common.
- Forms built in HubSpot's new form editor run on the v4 engine, and HubSpot's public API blocks writes to them unless HubSpot allowlists your account. They carry a New editor badge in the list.
- Marketo forms whose field does not exist on the lead record. Marketo will not add a field it does not have.
- Forms in any other connected tool. Pipedrive Web Forms has no API at all, so there is nothing to write to.
- Forms built in your CMS — WPForms, Gravity Forms, Webflow, a hand-written HTML form. Those are edited on your own site, and the script fills them by name.
In every one of those cases you add the hidden inputs where the form is built, using the same names. The script fills them from that point on with no further setup.
If it did not work
Every form fails with "HubSpot token is missing the 'forms' scope"
Why: The private app token can read your portal but not edit forms.
Fix: Add the forms scope to the private app at app.hubspot.com/l/private-apps, reconnect HubSpot in MarqIQ, then run again.
A HubSpot form is refused with a message about allowlisting
Why: That form was built in HubSpot's new form editor. HubSpot blocks API writes to v4 forms for accounts it has not allowlisted.
Fix: Open the form in HubSpot and add the hidden fields there, using the names on the Field mapping page. Ask HubSpot support for v4 Forms API write access if you have many of them. MarqIQ still captures the conversion for that form.
Marketo says it could not add a field and to check it exists
Why: Marketo only puts a field on a form if the field is already on the lead record.
Fix: Open Connected Tools, choose Marketo, and click Create field beside each missing tracking field. Then run Hidden form fields again. Creating the field needs Read-Write Schema Custom Field on the LaunchPoint role.
The fields were added but submissions still arrive empty
Why: The field exists but nothing is writing into it. The tracking script is what fills a hidden input, and it has to be on the page the visitor arrives at.
Fix: Check the script is live on the page the form sits on, from Setup & diagnostics. If the form is hosted on a different domain inside a frame, the script has to be on both pages.
You ticked far more forms than were changed
Why: The run is capped at 50 forms.
Fix: Run it again for the next 50. The presence badge tells you which forms are still outstanding.
The page is not in your sidebar and you are on Starter
Why: Writing to your tool's forms is a Tool Operation, sold from Pro upwards.
Fix: Check your plan on Plan & billing. On Starter, add the hidden inputs in your tool's own form editor instead.
The page is not in your sidebar and you are on Pro or above
Why: The row only appears when HubSpot or Marketo is connected. They are the two tools with a form-write API MarqIQ can use, so with only a CRM connected there is nothing for the page to act on.
Fix: Connect HubSpot or Marketo on Connected Tools. With neither, add the hidden inputs where the form is built, using the names on Field mapping.
Next steps
Related articles
Was this article helpful?