How to track the source of your OpnForm submissions
OpnForm can automatically capture supported UTM campaign parameters and ad click IDs when someone submits your form. This lets you identify which campaign, channel, or ad generated a response without adding hidden fields to the form.
Attribution is saved separately from the respondent's answers and remains attached to the original submission.
Supported attribution parameters
OpnForm captures only the following validated parameters:
Campaign parameters | Ad click IDs |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
Other URL parameters and the complete page URL are not captured. Empty values and values longer than 2,048 characters are ignored.
Track a direct form link
Add your campaign parameters to the form's public URL. For example:
https://opnform.com/forms/your-form?utm_source=newsletter&utm_medium=email&utm_campaign=summer_launchShare that URL in your email, ad, social post, or other campaign. When someone submits the form, OpnForm saves the supported parameters with the submission automatically.
Track an embedded form
When your page uses the OpnForm SDK, the embedded form automatically receives supported attribution parameters from the parent page. You do not need to add them manually to the iframe URL.
If the same parameter exists both on the parent page and in the iframe src, the iframe value takes priority. This lets you set a deliberate value for a specific embed while still inheriting the remaining parameters from the parent page.
A raw cross-origin iframe without the OpnForm SDK cannot read the parent page URL. In that case, include the supported parameters directly in the iframe
src.
See the OpnForm JavaScript SDK documentation for embed setup and SDK events.
View attribution in your submissions table
- Open your form in OpnForm.
- Select Submissions.
- Open Columns.
- Expand Attribution & tracking.
- Select Show detected to display attribution found on the current page, or open Other supported parameters to choose another column.
Attribution columns are hidden by default so they do not clutter forms that do not use campaign tracking.

The badge beside Attribution & tracking shows how many supported parameters were detected on the current submissions page. If you no longer need the tracking columns, select Hide URL parameters to hide all of them at once.

Export attribution to CSV
The export uses the columns currently visible in your submissions table:
- Open Columns → Attribution & tracking.
- Show the attribution columns you want to include.
- Select Export.
The resulting CSV includes those attribution columns alongside the visible answer and system columns.
Use attribution in APIs and integrations
When attribution was captured, owner API responses, webhook payloads, Zapier polling data, and SDK submit events expose it under meta.attribution.
{
"meta": {
"attribution": {
"utm_source": "newsletter",
"utm_medium": "email",
"utm_campaign": "summer_launch"
}
}
}Attribution is first-touch data: it is stored when the submission is first created and is not replaced by later updates to that submission.
Troubleshooting missing attribution
- Confirm that the parameter name exactly matches one of the supported lowercase names above.
- Make sure the value is not empty and is no longer than 2,048 characters.
- Create a new submission after adding the parameters; existing submissions are not retroactively updated.
- For an SDK embed, place the parameters on the parent page URL or the iframe
src. - For a raw cross-origin iframe without the SDK, place the parameters directly in the iframe
src. - If a supported parameter is not detected on the current submissions page, look under Other supported parameters.
When to keep using a custom hidden field
You no longer need a hidden field for the supported campaign and click-ID parameters above. A hidden field can still be useful when you want to pass a custom label that is not part of the supported attribution list. See How to use URL form pre-fill for that workflow.
Updated on: 16/08/2026
Thank you!