Prooflytics + Capterra and G2: Attributing Review Traffic to Closed Deals
The problem: review platforms drive traffic, but you don’t know the ROI
Capterra, G2, Trustpilot - major traffic channels for EU B2B SaaS. A Capterra listing costs $300 to $2,000+ per month depending on category and position. G2 has similar pricing tiers. The question marketers ask every quarter: “We’re spending $1,500/month on Capterra - what’s the return?”
The standard answer: “We look in Google Analytics - 180 visits from utm_source=capterra this month, conversion to lead X%, looks fine.” The problem is that’s not ROI - that’s cost per visit. Real B2B SaaS ROI is cost per closed deal, and it’s impossible to calculate with standard pixels.
The reason is the long sales cycle. EU B2B SaaS typically has a 3-12 month cycle from first contact to signed contract. A marketer visited the site from Capterra in January, booked a demo in March, and the deal closed in June. What does Google Analytics show in June? Nothing about Capterra - the UTM from the January session has long expired. Last-click attribution shows “Direct” or “Email” as the source.
For companies using Prooflytics for CRM attribution, review platforms are a particularly important scenario.
How standard attribution loses data
The anatomy of the problem:
January: visitor -> Capterra -> your site (utm_source=capterra)
Google Analytics: session recorded
Cookie: set (30-day default lifetime)
February: visitor returns directly
GA: new session, attribution = Direct
January cookie: expired or overwritten
March: visitor -> "Request Demo" form
GA event: form_submit, source=Direct (last-click)
CRM: lead created, source=Direct
June: Deal Won in CRM
Source in CRM: Direct
Capterra ROI: $0 (not counted)
The marketer sees in the report: Capterra - 200 visits, 0 deals, ROI = 0. In reality, 3 of those 200 visits became clients with $50k ARR combined - the attribution just didn’t capture it.
How Prooflytics solves the problem
Prooflytics captures UTM parameters on the first visit and stores them in the lead’s CRM profile throughout the entire deal cycle.
How it works
Step 1: First visit. The visitor arrives from Capterra (utm_source=capterra, utm_medium=cpc, utm_campaign=category_crm). The Prooflytics JavaScript pixel captures the UTM and saves it in first-party storage (localStorage + server-side) with a long TTL (180+ days).
Step 2: Lead is created. When a form is submitted (demo request, registration), Prooflytics links the lead’s email with the stored UTM data. The contact is created in the CRM with attributes: first_touch_source=capterra, first_touch_campaign=category_crm, first_touch_date=2026-01-15.
Step 3: Deal closes. On a Won event in the CRM, Prooflytics ties the deal back to the original source. In the Prooflytics dashboard: Capterra -> 3 Won Deals -> $50,000 ARR -> Cost per Closed Deal = $1500/3 = $500.
EU specifics: separate tracking by domain
Capterra operates with local domains in the EU:
- capterra.com - USA and global
- capterra.de - Germany
- capterra.fr - France
- capterra.co.uk - United Kingdom
- capterra.nl, capterra.es, capterra.it and others
Each domain generates different UTM parameters. If you pay for listings on capterra.de and capterra.com separately - you need to track them separately to see ROI by market.
UTM setup for separate tracking:
capterra.com -> utm_source=capterra&utm_medium=cpc&utm_campaign=global
capterra.de -> utm_source=capterra-de&utm_medium=cpc&utm_campaign=dach
capterra.fr -> utm_source=capterra-fr&utm_medium=cpc&utm_campaign=france
G2 also uses g2.com as its primary domain, but traffic from different regions can be differentiated via utm_campaign at the listing settings level.
Practical setup
Step 1. UTM parameters on listings
Both Capterra and G2 allow you to set your site URL with UTM parameters in listing settings. Use:
https://yoursite.com/?utm_source=capterra&utm_medium=referral&utm_campaign=listing_2026
https://yoursite.com/?utm_source=g2&utm_medium=referral&utm_campaign=listing_2026
Using utm_medium=referral for review platforms is more accurate than cpc - traffic from G2/Capterra is technically referral (organic from the platform), even if you pay for the listing.
Step 2. Configure Prooflytics First-Touch Attribution
The Prooflytics JavaScript snippet is installed on all site pages. On the first visit it automatically captures UTM:
// Prooflytics automatically captures on pixel installation:
// - utm_source, utm_medium, utm_campaign, utm_term, utm_content
// - referrer (if no UTM)
// - gclid (Google Ads)
// - fbclid (Meta Ads)
// - ttclid (TikTok Ads)
// For custom parameters (e.g. capterra_listing_id):
prooflytics.capture_extra_params(['capterra_listing_id', 'g2_campaign']);
Step 3. Link with CRM on form submission
// On demo request form submit:
document.getElementById('demo-form').addEventListener('submit', function(e) {
const email = document.getElementById('email').value;
// Prooflytics automatically links email with UTM data
// and passes attribution to CRM via integration
prooflytics.identify(email);
});
Step 4. CRM integration (Kommo or HubSpot)
Prooflytics has ready-made integrations with Kommo and HubSpot. On an identify() call, attribution data is written to custom fields in the CRM contact:
Contact in Kommo/HubSpot receives fields:
- prooflytics_first_touch_source: "capterra-de"
- prooflytics_first_touch_campaign: "dach"
- prooflytics_first_touch_date: "2026-01-15"
- prooflytics_first_touch_url: "/features/crm/"
When a deal closes, Prooflytics automatically aggregates cost per closed deal by source.
Real case: what the marketer sees
Consider a typical scenario for an EU B2B SaaS with a Capterra listing (budget $1,200/month) and G2 (budget $800/month).
Before Prooflytics, at end of quarter the marketer sees in Google Analytics:
- Capterra: 450 visits, 12 leads (form fills), conversion 2.7%
- G2: 280 visits, 7 leads, conversion 2.5%
- “I can’t calculate ROI - I don’t know how many of these leads became clients”
With Prooflytics in the dashboard:
- Capterra: 450 visits -> 12 leads -> 2 Won Deals -> $42,000 ARR Cost per Closed Deal: $3,600/2 = $1,800
- G2: 280 visits -> 7 leads -> 3 Won Deals -> $67,000 ARR Cost per Closed Deal: $2,400/3 = $800
Conclusion: G2 with a smaller budget delivers more ARR and a lower cost per deal. The marketer decides to increase the G2 budget and optimize or reduce Capterra.
Who this is for
Prooflytics + review platform attribution is relevant for companies that:
- Spend $500+/month on listings in Capterra, G2, Trustpilot, GetApp
- Have a sales cycle of 3+ months (standard for B2B SaaS)
- Sell in the EU and want to see separate ROI for capterra.de, capterra.fr, and other local domains
- Use Kommo or HubSpot and want to see attribution in the deal card
If you already use Prooflytics for Google Ads attribution or Meta Ads - adding review platforms to the attribution model takes a few hours of setup.
Frequently asked questions
Capterra/G2 won’t let me change the listing URL - how do I add UTM? Both marketplaces allow you to set an arbitrary URL in listing settings (Profile Settings -> Website URL). Add UTM parameters directly to the URL. In Capterra: Vendor Account -> Profile -> URL to your product. In G2: product -> Edit Listing -> Website.
What if a user blocks cookies or uses Private Browsing? Prooflytics uses server-side storage in addition to localStorage. On email identification (form), the server matches the email with previously captured UTM even if cookies are unavailable. For completely anonymous sessions without subsequent identification, attribution is impossible - this is a general limitation.
Is G2 Buyer Intent worth connecting to Prooflytics? G2 Buyer Intent is a separate product that shows companies researching your category on G2. Data comes via IP matching, not UTM. Prooflytics doesn’t receive it automatically, but you can configure passing it via the G2 API if you have access to Buyer Intent data.
Trustpilot generates traffic but has no ad dashboard - how do I track it?
Trustpilot displays a link to your site on the company profile page. In Trustpilot Business account settings, you can set a URL with UTM: utm_source=trustpilot&utm_medium=referral. Traffic is attributed as organic referral but with an explicit source.
If you want to set up review platform attribution through Prooflytics - describe your stack and current channels to the Exceltic.dev team. We’ll assess the setup and estimate the data volume for the first report.