Documentation

CRM pipeline

HubSpot contacts and deals — closed-won attributed to ad journeys.

Connect HubSpot or Salesforce so Intently can attribute closed-won pipeline to the same first-party journeys as on-site and Stripe conversions.

HubSpot setup

  1. Create a HubSpot private app with read scopes for contacts and deals
  2. Open Attribution settings
  3. Paste the access token → Save & verify
  4. Click Sync contacts & deals

Salesforce setup

  1. Obtain an OAuth or session access token and your org instance URL (e.g. https://yourorg.my.salesforce.com)
  2. Open Attribution settings → Salesforce
  3. Save instance URL + token → Save & verify
  4. Click Sync contacts & opportunities (closed-won Opportunities in the last year)

How identity stitches

  1. CRM contacts sync with normalized email + SHA-256 emailHash
  2. When track events include email / user_email, Intently links that session/userHash onto matching CRM contacts
  3. Closed-won deals resolve the contact’s linked identity, then credit first/last touch inside the attribution lookback window
  4. A conversion with source=crm and type crm_closed_won is written (idempotent per deal)

Report

On Attribution, the CRM pipeline panel shows:

  • Open / won / attributed-won counts
  • Closed-won amount by ad channel
  • Recent won deals with first/last touch

APIs

  • GET /api/v1/attribution/crm — connection status
  • PUT /api/v1/attribution/crm — save/clear token (instanceUrl required for Salesforce)
  • POST /api/v1/attribution/crm{ "action": "sync", "provider": "hubspot"|"salesforce" } or { "action": "link", "email": "…" }
  • GET /api/v1/attribution/crm/pipeline?range=30d

Next