How to set up pipeline attribution with AI

Marketing & Growth3 AI tools6 steps6 friction points

Pipeline attribution is the practice of mapping closed revenue — and in-flight deals — back to the marketing channels, campaigns, and touchpoints that created them. It answers the question every operator eventually has to face: where is our pipeline actually coming from? Getting this right means connecting your CRM deals to your ad spend, your inbound form fills, your outbound sequences, and your content traffic — often across four or five disconnected tools that have never talked to each other.

Attribution feels like an AI problem because the underlying work is pattern-matching and aggregation: look at a list of deals, find the first touch, last touch, or multi-touch source, and produce a table that tells you which channels are worth doubling down on. That logic is easy to describe in plain English, which makes it feel like something you should be able to just ask ChatGPT or Claude to do. And you can — partially. The gap shows up when you need the AI to actually reach your live data.

ChatGPT, Claude, and Gemini can genuinely help with pipeline attribution work — writing the logic for attribution models, cleaning and joining exported CSVs, building formulas for weighted multi-touch scoring, and generating summary reports from data you paste in. They're strong at the analytical reasoning layer. Where they fall short is everything that requires persistent connections to live systems: your CRM, your ad accounts, your product analytics. Every session starts from scratch.

Marketing & Growth3 AI tools6 steps6 friction points
AI walkthrough

How to do it with AI today

A practical walkthrough using ChatGPT, Claude, and other off-the-shelf LLMs — what they're good at, what you'll have to do by hand.

Tools that work for this
ChatGPTClaudeGemini
Step-by-step
1 Export your deals from your CRM — HubSpot, Salesforce, Pipedrive, or whichever you use — as a CSV. Include deal name, close date, deal owner, amount, lead source field, and any UTM parameters captured at form fill.
2 Export your ad spend data from Google Ads, Meta, or LinkedIn Ads for the same time period. Download campaign-level spend, clicks, and conversions as a separate CSV.
3 Open ChatGPT or Claude and paste in both CSVs (or representative samples if they're large). Ask it to join the two datasets on UTM source and campaign name, then calculate cost-per-pipeline-dollar by channel.
4 Ask the LLM to apply a first-touch, last-touch, or linear attribution model to your deal list — describe your model preference in plain English and it will generate the scoring logic and output a ranked channel table.
5 Paste the output into a Google Sheet or Notion doc. Ask the LLM to generate a written summary — two to three sentences per channel — interpreting what the numbers mean for your next quarter's budget allocation.
6 Repeat this process manually at the end of each month or quarter, re-exporting from your CRM and ad platforms each time, re-pasting, and re-running the same prompt chain.
Prompts you can copy
Here are two CSVs: one with HubSpot deals including UTM source and campaign, one with Google Ads spend by campaign name. Join them and show me cost-per-pipeline by channel for Q1.
Apply a linear multi-touch attribution model to this deal list. Each deal has a first-touch source, a last-touch source, and an assist source. Split credit evenly across all three and rank channels by attributed pipeline value.
I have 47 closed-won deals from last quarter. Here's the CSV. Which lead sources are generating the highest average deal size? Which are generating the most volume? Summarize both in a short table.
Write a Python script that takes a HubSpot deals export and a Meta Ads export, joins on UTM campaign, and outputs a CSV with attributed revenue, spend, and ROI per campaign.
Based on this attribution table, write a 200-word budget recommendation for next quarter. We want to grow pipeline by 40%. Which channels should we increase spend on and which should we cut?
Reality check

Where this gets hard

The walkthrough above works — until your numbers change, the LLM hallucinates, or you have to re-paste everything next month.

Every session starts with a manual export — there's no live connection to HubSpot, Salesforce, or your ad platforms, so your attribution is always as stale as your last download.
CSV paste limits hit fast. A mid-sized CRM export with 500+ deals and full UTM history will exceed what most LLMs handle cleanly in a single context window, requiring you to chunk and re-merge manually.
Attribution models require consistent field names and data formats across exports. If your HubSpot UTM field changed names two months ago, or Meta changed how it labels campaign columns, the join logic breaks silently and the output looks right but isn't.
Nothing persists between runs. The joined dataset, the attribution model logic, the summary table — all of it lives only in that chat session. Next month you're rebuilding from scratch, re-explaining the model, re-pasting the data.
LLM outputs vary between sessions even with the same prompt. The attribution table structure you carefully calibrated last quarter may not match what you get this quarter, which makes month-over-month comparison unreliable without manual normalization.
There's no path from the analysis to action. After the LLM produces a channel ranking, you manually copy it into a doc or sheet, share it with your team, and decide what to do. The insight doesn't connect back to your ad platform or CRM.

Tired of the friction?

Starch runs the whole workflow on live data — no copy-paste, no hallucinated numbers, no re-prompting next month.

See the Starch version →
Starch alternative

The same workflow on Starch

Starch is an agentic operating system — an agent builds and runs the software your work depends on, connected to your live business data. For pipeline attribution, that means a persistent app that reads your CRM, your ad accounts, and your product analytics on a schedule and keeps the attribution table current without you re-running anything.

Connect HubSpot or your CRM from Starch's integration catalog — the agent queries your live deals, stages, and lead source fields every time the attribution app runs, so you're always looking at current pipeline, not last week's export.
The Growth Analyst starter app connects to PostHog and emails you a weekly digest of what's driving signups and conversions — a ready-made starting point you can customize to add paid channel attribution on top.
The CRM starter app in Starch lets you describe your pipeline stages and attribution fields in plain English — tell it 'track first-touch source, last-touch source, and influenced campaigns per deal' and the agent builds that schema into your CRM view.
Connect Google Ads, Meta Ads, or LinkedIn Ads from Starch's integration catalog — the agent pulls spend and campaign performance live when your attribution dashboard runs, so cost-per-pipeline updates automatically without a manual download.
Describe the attribution model you want in natural language — 'build me a dashboard that shows pipeline by first-touch channel, weighted by deal size, updated weekly' — and Starch builds that app. No spreadsheet to maintain, no prompt to re-run.
Ads Agent — currently in beta — is being built to run cross-channel paid attribution and budget reallocation from a single surface. Request beta access to get notified when it launches.
Get closed-beta access →
Toolkit

Starch apps for this workflow

Pick your role

See this workflow by operator

Run set up pipeline attribution on Starch

You're on the list! We'll be in touch soon.