⟨ BLOGPLAYBOOKSAUDIENCES & AD TARGETING

Closed-won deals streamed to LinkedIn as offline conversions

Closed-won HubSpot deals from LinkedIn staged weekly as conversion events with value and close date, sent as one approved batch so campaigns optimize toward revenue.

PlaybookHubSpotLinkedIn ConversionsCSVRUN BY THE AUDIENCE AGENT →

The problem this solves

The revenue a campaign produces is recorded in the CRM weeks or months after the click, and the ad platform never hears about it unless someone tells it. Without that feedback LinkedIn optimizes toward the earliest signal it can see, and the campaigns that produce the cheapest leads win budget over the campaigns that produce customers. The data to fix this exists in HubSpot; the connection is what is missing.

Streaming closed-won deals back as offline conversions, with the deal value and the close date, gives the platform the outcome it should optimize toward. The batch has to be built carefully: only deals attributable to LinkedIn, event times inside the attribution window, values in the right currency, and a review before anything is sent, because these events reweight spend across every campaign.

How the mission runs

  1. Pull the week's closed-won deals from HubSpot. The Audience Agent reads HubSpot for deals that moved to closed-won in the last seven days and keeps those whose source or associated contact traces to LinkedIn, using the source fields and the Lead Gen Form history where available.
  2. Match deals to contacts and campaigns. Each deal is matched to the contact whose identifiers LinkedIn can recognize and, where possible, to the originating campaign, so the event can be attributed. Deals with no matchable contact are listed separately.
  3. Stage the conversion batch with value and date. Events are staged against your closed-won conversion rule with the deal amount as the value, the currency, and the close date as the event time, and checked against the rule's attribution window. The batch is shown with every deal, its value and its match.
  4. Send on approval and report. On your approval the batch is sent, and the agent reports accepted events, rejected ones with the reason, and the revenue streamed by campaign so the media team can see which campaigns produce customers.

The prompt

This is the exact objective the agent receives. Swap the obvious placeholders for your own domain, segment or channel and run it as-is from the console, Slack, or the API.

⟨ THE MISSION PROMPT · PASTE AND RUN ⟩

Every week, pull the deals marked closed-won in HubSpot that came from LinkedIn, and stage conversion events with value and close date on my LinkedIn ad account as one batch for my approval, so LinkedIn optimizes toward revenue.

What comes back

A weekly batch of offline conversion events on your LinkedIn ad account for closed-won HubSpot deals attributable to LinkedIn, each carrying the deal value, currency and close date, sent only after your approval, with a report of accepted and rejected events and revenue by campaign. Deals that could not be matched are listed with the reason so the CRM data can be improved.

Make it yours

  • Stream opportunity-created as an earlier event with a smaller value for faster optimization.
  • Read deals from Pipedrive or Attio instead of HubSpot.
  • Backfill 90 days of historical closed-won deals in a first run to seed the model.
  • Post the revenue-by-campaign table to #paid each week.
  • Include deals closed by partners when the originating contact came through a LinkedIn campaign.

Frequently asked questions

What if a deal closes outside the attribution window?

The batch flags it and it is not sent by default; you can extend the window on the conversion rule if long sales cycles are the norm.

How is a deal attributed to LinkedIn?

From the deal or contact source fields in HubSpot and from Lead Gen Form history where the contact came through a form. The match method is shown per deal.

Is the deal value visible to LinkedIn?

Yes, as the conversion value, which is what lets campaigns optimize toward revenue rather than volume. Send a placeholder value if actual amounts should stay private.

Can I send the events without revealing deal values?

Yes. Send a fixed placeholder value or a value band instead of the actual amount; the platform still learns which campaigns produce customers, with less precision on size.

Can rejected events be corrected?

Yes. The report shows the reason for each rejection - a missing identifier, a date outside the window - and the fixed rows are resent in the next batch after you correct the CRM data.

Go deeper

⟨ RUN IT INSTEAD OF READING IT ⟩

This mission runs minutes after signup.

Open a workspace, paste the prompt, and the Audience Agent carries it end to end on your plan's monthly credits - evidence attached.

⟨ RELATED PLAYBOOKS ⟩