Skip to Content
FAQForms & Integration

Forms & Integration

Which form platforms are supported?

AttributionHub supports 20+ form platforms. The standard forms handler covers any platform that renders standard <form> + <input> elements, including Gravity Forms, WPForms, Ninja Forms, Formidable, PayloadCMS, Pipedrive, Mailchimp, ConvertKit, and React/Angular/Vue/Svelte forms.

Dedicated handlers cover platforms that require iframe injection, SDK APIs, or cross-origin messaging: HubSpot, Marketo, Salesforce Pardot, ActiveCampaign (widget mode), Calendly, Typeform, Zoho Forms, Jotform, Webflow, and Contact Form 7.

See Form Integrations for platform-specific setup instructions.

My form fields are not being populated. What should I check?

  1. Verify the script is loaded (check the Network tab in DevTools)
  2. Ensure hidden field names match exactly (e.g., ah_lt_channel) — names are case-sensitive
  3. Check if the form loads inside a cross-origin iframe — if so, verify that a dedicated handler exists for your platform
  4. If your form uses a non-standard container, add its CSS selector via formSelectors in your settings
  5. Enable enableLogging: true in settings and check the Console for population messages

I see duplicate values in my form fields. What is happening?

AttributionHub prevents double population by stamping populated forms with data-attrhub-populated. Specialized handlers run first and mark forms before the standard handler. If you still see duplicates, check that you are not manually triggering population in addition to the automatic flow.

Can I use custom field names?

Yes. Use the fieldMapping setting to override the default field names. All handlers — both the standard handler and every specialized handler — honour your field mapping. See Configuration for details.

How do I capture custom URL parameters?

Use the customFields setting:

window.attrhub = { settings: { customFields: ["partner_id", "pricing_plan"], }, };

These create fields like ah_lt_custom_partner_id and ah_ft_custom_partner_id on your forms.

My form platform is not listed. Will it still work?

If your platform renders standard <form> and <input> elements in the page DOM, it will work automatically with the standard handler. If the default selectors do not match your form container, add a custom CSS selector via the formSelectors setting. See Form Integrations.

Platforms that use fully isolated cross-origin iframes (e.g., Google Forms, Drift, Intercom) cannot be supported.