Skip to content
Integration

HubSpot won deals in your clients' SEO reports

HubSpot connects to RankUpside two ways. Export closed-won deals as a CSV and upload them, or have a HubSpot workflow post each won deal to the client's RankUpside webhook. Either way, each deal needs a landing page, and RankUpside splits its value across the searches that brought that page clicks in Search Console.

What it doesn't do: There's no native HubSpot app, and RankUpside doesn't read HubSpot's own traffic analytics or write anything back to HubSpot.

Updated

Two ways in.

HubSpot names are as its knowledge base shows them on Oct 22, 2026. Either route needs a landing page on each deal; that's what ties a deal to searches.

CSV export CSV

Any HubSpot plan · upload when you want a fresh report

  1. 1. Filter deals to Closed Won
  2. 2. Export with close date, amount, stage and landing page
  3. 3. Upload in Client settings › Leads & revenue

Workflow webhook Webhook

Data Hub Professional or Enterprise · deals arrive on their own

  1. 1. Deal-based workflow on Closed Won
  2. 2. Send a webhook: POST to the revenue URL
  3. 3. API key in the Authorization header, custom body
Start free trialStarts with one read-only Google sign-in. No card.

The CSV route.

HubSpot's export headers Close Date, Amount and Deal Stage are recognized without renaming. Its Record ID column isn't one of the ID names, so each row gets a stable ID from its contents, and re-uploading the same file updates deals instead of doubling them. Every header the importer reads.

  1. Step 1: Filter deals to Closed Won

    In HubSpot's deals view, filter the deal stage to Closed Won for the period you want.
  2. Step 2: Export with the right columns

    Export the view with close date, amount, deal stage and a column that holds each deal's landing page.
  3. Step 3: Upload in RankUpside

    In RankUpside, open Client settings › Leads & revenue, choose the CSV and select Import deals. Headers such as Close Date, Amount and Deal Stage are read as they are.

The webhook route.

A deal-based workflow posts each deal to the client's revenue webhook the moment it reaches Closed Won.

  1. Step 1: Create a deal-based workflow

    Enroll deals when the deal stage is Closed Won.
  2. Step 2: Add a Send a webhook action

    Method POST, URL https://rankupside.com/api/hooks/revenue. This action needs Data Hub Professional or Enterprise.
  3. Step 3: Authenticate with the client site's key

    Set the authentication type to API key, the key name to Authorization and the location to Request header. Store the client site's key from RankUpside, prefixed with Bearer, as a HubSpot secret and select it.
  4. Step 4: Customize the request body

    Choose Customize request body and add each key below with its property or a static value. Leave the date out: the deal is dated the day it arrives.

Closed Won → client report

One workflow per client portal

Example
  1. EnrollmentDeal stage is Closed Won
  2. ActionSend a webhook · POSThttps://rankupside.com/api/hooks/revenue
  3. AuthenticationAPI key · Request headerAuthorization: Bearer rk_••••
RankUpside webhook keys and the HubSpot value for each
KeyHubSpot value
idRecord ID
amountAmount
statusStatic value: won
landing_pageThe deal property that holds the landing page
sourceThe deal property that holds the source

Where the landing page comes from.

HubSpot records First page seen on each contact, a default property from its web analytics; keep a copy on the deal so the export or webhook can send it. Or add the RankUpside form snippet: it puts landing_page and lead_source on forms that sit directly on the page, which you map to contact properties. HubSpot forms embedded in an iframe can't be reached by the snippet.

What shows up in the report.

Each won deal is split across its landing page's searches by click share, with the searches Google hides on their own line. Deals sourced from paid search, social or email stay out of search revenue.

More on this:Revenue by searchAllocated revenueCSV formatWebhook docs

Searches behind the revenueSample$5,390 from 3 won deals. Sample data · fictional deals.
SearchClicksShare of page clicksAllocated
gutter repair fairview/services/gutter-repair318%$150
gutter guard installation/33%$121
fairview gutter repair/services/gutter-repair212%$100
gutter cleaning fairview/blog/gutter-cleaning-fairview-cost1225%$85
2 more buyer searches5$102
Other searches and searches Google hides$4,832

More on this:Webhook referenceRankUpside for SEO agencies

HubSpot questions.

Does RankUpside integrate with HubSpot?
Yes, by CSV export or by a HubSpot workflow webhook. There's no native app. Both routes bring in won deals with their landing page, and RankUpside ties them to the searches behind that page.
Which HubSpot plan do I need?
Any plan works for the CSV route. The workflow action Send a webhook needs Data Hub Professional or Enterprise, so check your client's subscription before choosing that route.
Which HubSpot fields does the CSV need?
Close date, amount, deal stage and a landing page column. Deal ID is optional but helps re-uploads update cleanly. Phone or email lets RankUpside match deals to tracked calls.
What if HubSpot's source says paid or social?
Deals whose source names another channel, such as paid search, social or email, are kept out of search revenue. Deals with a blank source are counted and flagged.
Can I send open deals too?
Yes. Send a status of open to show pipeline, or lost to record it. Only won deals count as revenue.

Connect a client and see their first report.

The first report builds from 13 weeks of Search Console history as soon as you connect. Start with 3 client sites.

What your client sees each weekSample data
Oxbow & Vane

Weekly search report · Copperline Gutters

Sep 14 – Oct 11, 2026 vs the 4 weeks before

Copperline Gutters got 27 clicks from named buyer searches in the last 4 weeks, up 23% from the 4 weeks before. Google hides the search terms behind 84% of all 289 search clicks. Rankings rose across the site: pages that steadily show up are up about 2.4 positions.

Buyer clicks23%
27from 22
All search clicks14%
289from 253