Content-to-Revenue Attribution: Tracking Blog ROI Using GA4, HubSpot, and AttributeIQ

    Muiz Thomas

    Muiz Thomas, Founder & CEO, AttributeIQ

    · 9 min read

    Key Takeaways
    • You can connect content consumption to actual revenue in under 15 minutes using a GA4 conversion event (to track user actions), a HubSpot CRM (to track contact identity and deal value), and AttributeIQ (to link the two at the individual-journey level).
    • To calculate a blog post’s exact return on investment, pick an attribution model (e.g., first-touch, last-touch, or multi-touch), identify the total Closed Revenue attributed to that specific URL, and subtract the total production costs (writing, editing, and promotion).

    Why Content Teams Struggle to Connect Blog Posts to Revenue

    Proving the financial value of a blog is one of the hardest parts of content marketing. When leadership asks for the ROI of your latest article series, pointing to a spike in traffic rarely answers their question. They want to know how that traffic translates into real, measurable revenue.

    The good news is the data to answer that question already exists in your tech stack. GA4 tracks user engagement, and HubSpot records sales outcomes. But without a clear link between the two, it’s difficult to attribute revenue back to specific content. Below, we’ll walk through how to set up GA4, HubSpot, and AttributeIQ to track content ROI step-by-step.

    Three Things to Check Before You Run Your First Attribution Report

    Most of this you likely already have. AttributeIQ needs all three pieces in place before it can connect blog content to pipeline, so it’s worth a two-minute check before you start.

    #

    Requirement

    Why You Need It

    1

    A conversion event firing in GA4: demo_request, trial_signup

    This is the outcome you’re attributing back to blog posts. If it’s not tracked, there’s nothing to connect. Most teams already have this set up for basic conversion tracking. If you don’t, it takes about five minutes in Google Tag Manager.

    2

    A HubSpot account (any tier, including free CRM)

    HubSpot is where a form fill becomes a contact, a pipeline stage, and eventually a closed deal. AttributeIQ pulls that information in so your blog attribution has actual revenue numbers attached to it, not just conversion counts.

    3

    An AttributeIQ account

    14-day free trial, no credit card required. Enough time to connect both platforms and see which posts are actually influencing deals.

    How to Use AttributeIQ to See Which Blog Posts Are Actually Generating ROI

    The setup is lighter than you’d expect. Connect GA4, connect HubSpot, and AttributeIQ starts reconstructing the full journey behind every conversion, which posts were involved, in what order, and what the deal closed for.

    Step 1: Connect Your GA4 Property to AttributeIQ

    Once you’ve created your AttributeIQ account, the first thing you’ll do is connect GA4. This takes about three minutes and requires no engineering involvement.

    AttributeIQ will ask you to select which GA4 property to connect. If you have multiple properties, pick the one where your main conversions are tracked.

    2

    Select Your GA4 Property

    nexa-marketing (GA4)
    nexa-marketing (GA4 Property)Current
    nexa-prod (GA4 Property)
    nexa-staging (GA4 Property)
    client-brightwave (GA4 Property)
    Continue
    or+ Add another property

    What AttributeIQ does with this connection:

    AttributeIQ doesn’t read from the GA4 interface, it reads from your raw BigQuery event export. This matters because the GA4 interface shows you sampled, aggregated data. BigQuery has every individual event, every session, every page view, unsampled and in full. That’s what makes individual journey reconstruction possible. When you see a journey in AttributeIQ, it’s not a model or an estimate, it’s a real sequence of real page views from a real browser session.

    Step 2: Connect HubSpot to Match Journeys to Real Deals

    GA4 alone can tell you which pages were visited by users who converted. What it can’t tell you is who those users were, what company they’re from, or what deal value is attached to their journey. That’s what HubSpot unlocks.

    Go to Settings → Integrations → HubSpot inside AttributeIQ and click Connect HubSpot. You’ll be taken through a standard OAuth flow, authorise access, get redirected back, and you’ll see your portal ID confirmed and the status showing “Connected.”

    Property

    NexaPathora
    HS

    HubSpot CRM

    Portal ID: 146264324

    ConnectedDisconnect

    Sync Contacts

    Pulls contacts with a ga4_client_id property and their associated deals into your account. Last synced 6/7/2026 (96 contacts).

    Contacts sync automatically every 6 hours.

    The matching logic:

    When someone submits your demo form, GA4 fires a conversion event and HubSpot creates a contact. AttributeIQ reads the ga4_client_id from that form submission and writes it to the HubSpot contact record. From that point, every page that person visited, before and after the form fill, gets connected to their name and deal value.

    Step 3: Find Your Blog Conversions in Page Influence

    In AttributeIQ, go to Pipeline Intelligence → Page Influence in the left nav. Set your date range to the last 7 or 28 days and filter Page contains: blog.

    This shows you every blog post that shows up in a converting journey, along with how much pipeline it’s influenced and whether it tends to act as an entry page, a mid-journey helper, or a closer.

    AttributeIQ
    28 days
    All conversions

    Page Influence

    Track page-level impact on pipeline volume and closed-won revenue performance.

    2 days
    7 days
    28 days
    More
    Page contains: blog
    Add filter

    Total Pipeline

    £105.00k

    Total Journeys

    22

    Top High-Value Page

    /blog/b2b-sales-lead-scoring

    Most Balanced Page

    /blog/sales-rep-onboarding

    Pipeline by Conversion Event

    All pipeline · click an event to filter the journeys below

    All events22 conversions£105.00k
    demo_request
    £45.00k3 conv.
    trial_signup
    £42.00k7 conv.
    contact_form
    £18.00k12 conv.

    Pipeline Share

    Share of pipeline by conversion event

    £40.80k

    demo_request£45.00k66%
    trial_signup£42.00k21%
    contact_form£18.00k13%

    Pages by Influenced Pipeline

    All Pages
    £50k+ 0
    £20–50k 0
    £5–20k 0
    Under £5k 40
    PageJourneysPipelineRole Distribution
    /blog/b2b-sales-lead-scoring
    14£66.00k
    /blog/sales-pipeline-stages
    14£52.50k
    /blog/how-to-forecast-sales
    13£51.00k
    /blog/automating-follow-up-emails
    12£31.50k
    /blog/sales-rep-onboarding
    8£34.50k
    /blog/reducing-sales-cycle-length
    8£21.00k
    Entry
    Mid-journey
    Closer
    1 / 2 →

    In this example, AttributeIQ is filtering to blog pages over the last 28 days. Total pipeline across all three conversion events comes to £105.00k from 22 journeys, and the breakdown by event shows exactly where that value is concentrated: demo_requests are worth more (£45.00k from just 3 conversions) than trial signups or contact form fills, even though they convert far less often.

    The page table is where it gets specific. /blog/b2b-sales-lead-scoring shows up in 14 journeys and has influenced £66.00k in pipeline, more than any other page in this view, even though /blog/sales-pipeline-stages appeared in the same number of journeys. Same journey count, different pipeline value, because the journeys that page touched led to higher-value conversions. That’s not something a journey count alone would tell you.

    See which content pieces
    actually influenced your deals.

    AttributeIQ shows page-level pipeline attribution natively over your existing GA4 and HubSpot stack, live within 24 hours.

    Try 14 days for free →

    Nexa Corp · Journey

    Best MTA tools 2026

    Blog · Organic · Day 1

    Attribution guide

    Blog · Organic · Day 12

    Case study: Intercom

    Blog · Organic · Day 28

    Pricing page

    Direct · Day 31

    Step 4: Click Into Any Page and See Every Journey That Ran Through It

    Click the chevron next to any page in the table and AttributeIQ expands every converting journey that included it, in full, in order, with the contact name and conversion date.

    JOURNEYS THAT INCLUDED /BLOG/SALES-PIPELINE-STAGES: 22 JOURNEYS

    BUYER #1 · Marcus Webb2 Juntrial signup
    £6,000
    1
    /blog/sales-pipeline-stages
    2
    /blog/how-to-forecast-sales
    3
    /pricing
    4
    /blog/b2b-sales-lead-scoring
    5
    /trial
    converted
    BUYER #2 · Elena Vasquez5 Jundemo request
    £9,000
    1
    /blog/b2b-sales
    2
    /pricing
    3
    /demo
    converted
    BUYER #3 · Priya Nair8 Juntrial signup
    £6,000
    1
    /blog/reducing-sales-cycle-length
    2
    /blog/b2b-sales-lead-scoring
    3
    /blog/sales-pipeline-stages
    4
    /trial
    converted
    Showing 1–3 of 22 journeys
    1 / 5

    And because AttributeIQ has the full HubSpot deal record, you can also see what happened after the demo, the post-conversion milestones through to closed revenue.

    BUYER #2 · ELENA VASQUEZ

    5 Jundemo request
    £9,000
    closed‑won value
    1
    /blog/sales-pipeline-stagesfirst touch
    2
    /pricing
    3
    /demo
    4
    appointment
    scheduled
    7 Jun
    5
    /case-study/mrr
    closed‑won£8,000

    Step 5: Set Up Slack Alerts for High-Intent Blog Behaviour

    A lot of buying activity happens between meetings. Prospects go quiet in email for weeks, then start revisiting content as they build an internal case, compare vendors, or prepare for the next conversation. CRM updates alone will miss most of this.

    Alert Rules

    2 active

    SQL visits /blog three times

    Immediate · Slack

    URL contains /blogQualified contactsSends immediately
    Edit

    Any contact visits /pricing

    Immediate · Slack

    URL contains /pricingAll contactsSends immediately
    Edit

    Qualified contacts inactive 14+ days

    Weekly on Monday · Slack

    Edit

    The screenshot above shows an example of what a few Alert Rules might look like in practice, one scoped to /blog/ visits from qualified contacts, another watching /pricing, a third flagging deals that have gone inactive for two weeks. The exact rules depend on your sales motion, but the pattern is the same: pick a URL, scope it to the right contact stage, and route it to Slack immediately.

    How to Pull a Blog ROI Report and Present It to Leadership

    The Page Influence tab gives you the full picture interactively, but at some point you’ll need to get that data out of AttributeIQ and into a format you can present to a CMO or a board.

    Reading Pipeline by Confidence Level

    Page Influence has three toggles: All Pipeline, Qualified Pipeline, and Closed Revenue. Each one narrows the claim you’re making.

    • All Pipeline shows every journey that touched a blog post, regardless of where it stands today.
    • Qualified Pipeline filters down to journeys HubSpot has marked as a genuine opportunity.
    • Closed Revenue shows only journeys that ended in a won deal.

    For a board presentation, start with Closed Revenue. It’s the smallest number, but it’s the one nobody can argue with.

    Exporting the Data

    Filter by your conversion event and set a date range; 90 days is a reasonable default, long enough to capture full journeys, short enough to stay actionable. Hit Export and AttributeIQ downloads an .xlsx with every blog post that appeared in a converting journey, the pipeline value it’s tied to, the number of journeys it touched, and its role distribution.

    Calculating Actual ROI

    Pipeline influence is good for prioritisation. But if you’re going to stand in front of a board and claim ROI, you need to handle overlapping credit and subtract your costs.

    The attribution model you choose (First-Touch, Last-Touch, or Linear/Multi-Touch) depends entirely on your specific sales motion and what your leadership values most.

    • To measure top-of-funnel acquisition: Use First-Touch (attributes 100% of the deal value to the first page visited).
    • To measure bottom-of-funnel conversion: Use Last-Touch (attributes 100% of the deal value to the final page before conversion).
    • To measure shared influence across the journey: Use Linear/Multi-Touch (splits the deal value evenly across every page in that journey).

    None of these is objectively correct. What matters is that you pick one, apply it consistently, and are transparent about which model you’re using when you present the number.

    A First-Touch Example:

    /blog/sales-pipeline-stages appeared in 14 converting journeys, made up of 1 demo request, 4 trial signups, and 9 contact form fills, for a combined influenced pipeline of £52,500.

    Assume it was the first touch in 5 of those journeys, the 1 demo request and all 4 trial signups. Those 5 journeys had a combined closed-won value of £39,000. Under first-touch attribution, that post gets credit for £39,000 in attributed revenue.

    • Attributed revenue: £39,000
    • Production cost: writing, editing, promotion: £3,200
    • Net return: £39,000 − £3,200 = £35,800
    • ROI: £35,800 ÷ £3,200 = 1,119%

    Repeat this formula for the top posts in your export.

    What to Present to Leadership

    Distill your export into a single presentation slide covering:

    • Top 5 Posts by ROI: List the URLs alongside their actual calculated ROI percentage.
    • Total Pipeline Influenced: State the total pipeline value touched by the blog as a whole over the last 90 days.
    • Strategic Recommendations: Clearly state which content clusters you plan to double down on (based on high Closed Revenue) and which broad topics you are deprioritising (based on high traffic but zero pipeline).

    If you’ve got a GA4 account and a HubSpot CRM, you already have everything this requires. AttributeIQ connects to both, takes about fifteen minutes to set up, and the trial runs long enough to see real journeys with deal values attached before you decide it’s worth keeping. Start your free trial.

    Muiz Thomas, Founder & CEO of AttributeIQ
    Author
    Muiz Thomasin
    Founder & CEO, AttributeIQ
    Muiz is the founder of AttributeIQ, a multi-touch attribution platform for B2B marketing teams, and GrowUp, a B2B search agency. He started building attribution tooling because he got tired of writing “directional.” in client reports as a way of saying “I can’t actually prove this.” He works mostly with SaaS, construction tech, and enterprise software teams, and has helped connect marketing programmes to £5M+ in qualified pipeline.