◇ case 03 · 2023 · upfluence

3× ROI on paid using first-party data + PMAX.

With CPCs rising 25% in ICP countries, traditional paid campaigns stalled. I fed Google PMAX with Salesforce historical data, qualified emails through NeverBounce, routed conversion signals from HubSpot, and let the algorithm learn a persona instead of guessing one.

0 ×
ROI in 45 days
0 %
CPC headwind absorbed
0 %
first-party signal
0 d
from kickoff to break-even
01 · problem

CPCs were eating ROI.

After Jan 2023, CPCs in Upfluence’s ICP countries kept rising ~25%. Search campaigns that had worked for years quietly flipped to unprofitable. Rather than chase CPC down (you won’t), I decided to chase signal quality up.

The thesis: if I can feed Google a rich enough first-party training signal, PMAX will find buyers instead of browsers. The campaign succeeds or fails on the quality of the audience signal, not the bid.

02 · architecture

Data in, buyers out.

01 · sources

Salesforce

3 years of closed-won opps. Firmographics, industry, ACV.

02 · enrich

Clearbit + NeverBounce

Validates emails, fills missing firmographics, flags risky domains.

03 · feed

PMAX Audience Signal

Customer match + HubSpot conversions uploaded daily via S3/SQL.

04 · land

Webflow LP

Persona-mapped landing page, tight copy-to-intent and strong CTA.

The clever bit is that this is a loop: every new conversion we send back to Google sharpens the audience model, which improves placements, which lowers effective CPC, which lifts ROI. Setting up the pipeline took longer than running the campaign.

03 · signal

Training the persona.

  1. Collect. Pull a 3-year window of closed-won deals from Salesforce via SQL. Anonymise, de-duplicate, normalise.
  2. Qualify. Run every email through NeverBounce; drop invalid. Enrich with Clearbit firmographics.
  3. Upload. Push to Google Ads Customer Match weekly via a small Python job on S3.
  4. Convert. Wire up the HubSpot → GA4 → Google Ads conversion event chain so every demo booked trains the model live.
  5. Iterate. Creative, copy and landing pages are swapped weekly against the learning signal.
04 · landing pages

Copy-to-intent, tight.

I built landing pages in Webflow so the growth team could iterate without engineering in the loop. Every campaign theme had a dedicated page with:

  • One above-the-fold value prop aligned to the persona segment.
  • Social proof pulled from the Salesforce segment the ad targeted.
  • A single primary CTA, “book a demo”, with a calendar embed on the same page.
  • Fall-back secondary CTA: a free-tool (see case 02) as a soft touch for not-quite-ready visitors.
05 · learnings

What I’d keep.

  • First-party data beats creative. Great copy on bad signal still loses money.
  • Give PMAX budget to learn. Starving it is the fastest way to waste the experiment.
  • The loop is the product. A one-off upload works for a sprint; continuous signal feeding works for a year.
  • Next version: layer in GEO / AEO intent (people who asked AI assistants about influencer marketing). Different signal, same loop.
case · 01

200× ROI from programmatic SEO using AI.

← read the case study
case · 02

2× demos by building a free-tool flywheel.

read the case study →