Integrations
Connect HubSpot to Elido
Forward conversion events from Elido into HubSpot contacts and deals via OAuth — field mapping, refresh tokens, and what gets written.
Updated 2026-05-12
The HubSpot integration forwards Elido conversion events into HubSpot as contact properties and deal updates. When someone clicks a tracked link and completes a conversion goal, Elido pushes the attribution data (UTM source, campaign, click ID) to HubSpot — without you writing any code.
Connect via OAuth#
- Go to Dashboard → Conversions → HubSpot → Connect HubSpot.
- The HubSpot OAuth screen opens. Sign in with an account that has "CRM → Objects" access.
- HubSpot shows the requested scopes:
crm.objects.contacts.writeandcrm.objects.deals.write. These let Elido write to contact properties and move deals through stages. - Click Connect app. HubSpot redirects you back to Elido.
Refresh tokens rotate automatically. If you revoke access from HubSpot's side (Settings → Connected Apps), Elido immediately stops sending events and shows a "token revoked" error in the delivery log.
Map fields#
After connecting, go to Dashboard → Conversions → HubSpot → Configure:
- Contact properties — choose which HubSpot contact properties Elido writes to. Available Elido fields:
utm_source,utm_medium,utm_campaign,utm_content,utm_term,click_id,link_slug. - Deal stage — select the pipeline and stage that a conversion moves a deal to. Leave blank if you don't use HubSpot deals.
- Match contact by — email (if you capture email via your landing page) or HubSpot contact ID (for server-side attribution where you pass
hs_contact_idin the URL).
What Elido writes to HubSpot#
Each conversion creates a HubSpot timeline event and (if mapped) updates the contact's properties. The raw payload Elido sends:
{
"event": "conversion.recorded",
"click_id": "clk_abc123",
"value": 99.0,
"currency": "EUR",
"utm": {
"source": "newsletter",
"medium": "email",
"campaign": "spring-2026"
}
}
HubSpot shows this as a custom timeline event on the contact record. The deal stage update (if configured) fires in the same request.
What doesn't sync#
- Click events without a conversion — raw clicks don't create HubSpot records. Only conversions do.
- Historical data — the integration is forward-only from the moment you connect.
- HubSpot → Elido — the integration is outbound only. HubSpot deal changes don't flow back to Elido.
Troubleshooting#
"Insufficient permissions" error — The HubSpot user who authorized didn't have CRM write access. Ask a HubSpot super admin to re-authorize from Dashboard → Conversions → HubSpot → Reconnect.
Contact not found — events dropped — If Elido can't find a matching contact by email or ID, the event is logged but not forwarded. Check Dashboard → Conversions → Delivery log for "no matching contact" entries.
Conversions arriving with wrong campaign attribution — Verify UTM parameters are present on the destination URL. Elido captures them from the click; if the link has no UTMs, the HubSpot fields will be empty.
OAuth keeps expiring — HubSpot revokes tokens for apps that don't call the refresh endpoint in 6+ months. The Elido integration refreshes on every event. If you haven't received any conversions in months, reconnect manually.