What moves in each direction
| Direction | What | When |
|---|---|---|
| CRM to Demander | Deals: name, amount, currency, stage, open, won or lost, created and close dates | Hourly, everything changed since the last sync, with a 5-minute overlap |
| CRM to Demander | Meetings: HubSpot meetings, Pipedrive meeting activities and Salesforce events, with time, title and status | Hourly, right after deals |
| Demander to CRM | Leads: the contact, the company when the e-mail has a business domain, and a note naming the conversion | Within minutes of the conversion, when the CRM is one of your lead routes |
| Demander to ad platforms | An account moving into sales (SQL), a new opportunity and a won deal, with the deal amount | Hourly offline conversion upload, in live mode |
How deals become pipeline in Demander
Each deal is matched to an account by the company’s website domain, else by the CRM id Demander stored for that account, else through a contact Demander wrote to the CRM. A new deal records an “opportunity created” milestone on the account timeline. A stage move on an open deal, a win and a loss are milestones too, and a won deal adds revenue to the account.
Milestones show on the timeline and are never attribution touches. Attribution credits the ads, posts, e-mails and visits before each opportunity, and the path explorer shows which sequences of touches lead to deals and which never do.
Meetings on the account timeline
-
01
Dated when booked
A meeting appears on the account timeline on the day it was booked, with its time, title and status, and updates when it is rescheduled, completed or cancelled.
-
02
Cancellations count for nothing
A cancelled meeting stops counting toward the account’s intent score.
-
03
Booking conversions from HubSpot
HubSpot meetings can complete a booking conversion you define, counted once per meeting and cancelled when the meeting is.
Offline conversions from CRM stages
-
Stage events
An account moving into sales (SQL), a new opportunity and a won deal each become an offline conversion. Opportunity and won events carry the deal amount.
-
Matched to the click
Each event is joined to the account’s last consented click id per platform (gclid, msclkid, fbclid, ttclid, li_fat_id, rdt_cid) and, for a contact with e-mail consent, a SHA-256 hashed e-mail.
-
Uploaded every hour
Google (Data Manager API), Meta (Conversions API), LinkedIn, Microsoft, TikTok and Reddit. X and Sklik get no offline upload. Nothing goes out outside live mode, and the first live run back-fills.
-
Mapped to your actions
Each stage maps to a conversion action, rule or goal on each platform, so the platforms’ bidding can optimise toward opportunities instead of cheap form fills. More in offline conversions.
Connecting each CRM
| CRM | How it connects | Notes |
|---|---|---|
| HubSpot | OAuth app, or a private-app token | CRM v3 objects. Won and lost stage ids are configurable (closedwon and closedlost by default). The same connection can publish to HubSpot CMS with the optional content scope. |
| Pipedrive | OAuth, or an API token with your company domain | Pipedrive organisations have no domain field: name the custom field that holds the website, or matching falls back to the exact organisation name. Meeting activity types are configurable. |
| Salesforce | OAuth through an External Client App or Connected App, with PKCE and refresh-token rotation | Accounts and contacts are matched by an external id field when you name one, else by website and e-mail. Your Salesforce admin may need to approve the app. |
Demander works with one connected CRM per workspace. Each CRM’s own rate limits apply: 110 requests per 10 seconds for HubSpot OAuth apps, a daily token budget by plan and seats on Pipedrive, a daily allocation by edition on Salesforce.
Questions people ask
Does Demander change deals in our CRM?
No. It reads deals and meetings, and writes leads as a contact, the company and a note. Deal stages and amounts stay with your team.
How does a deal get linked to the ads that produced it?
Through the account: the deal is matched by company domain (or a stored CRM id), and the account’s touches carry the campaign, ad, post or e-mail step behind each visit. Attribution then splits the opportunity’s value across those touches by the model you pick.
We use a CRM that is not listed. What can we do?
Forward leads to it through a signed webhook or your form endpoint, and send stage changes from your backend through the server events API. Pipeline attribution then follows the conversions you send; deal sync itself needs HubSpot, Pipedrive or Salesforce.
How quickly do CRM changes show up?
Within the hour. The sync runs hourly, reads everything changed since the previous run with a five-minute overlap, and the offline conversion upload follows in the same hour.