B2B Lead Quality Tracking: GA4 and CRM Data (2026)
By Rafirit Station Editorial Team · Updated 2026 · ⏱ 24 min read
B2B lead quality is the single biggest lever for revenue growth. According to HubSpot research, 61% of B2B marketers say generating high-quality leads is their greatest challenge. Yet most Dhaka-based companies still measure success by lead volume, not lead value.
Why now? Since July 2024, Universal Analytics is dead. Every business moved to Google Analytics 4 (GA4), but very few configured it for B2B lead quality. Add GDPR-friendly signal loss and cookie deprecation, and the old ‘last-click lead count’ simply breaks. GA4, combined with CRM data, is now the only reliable way to know which channels produce clients—not just contacts.
Ignoring this costs money. A typical B2B service firm in Banani spends ৳300,000 per month on Google Ads and Meta Ads. Without lead-quality tracking, up to 40% of that budget—around ৳120,000—goes to wrong-fit leads that never respond, never get a demo, and never pay an invoice. Over a year, that’s over ৳1.4 million down the drain.
By the end of this guide, you’ll have a 4-phase system to track B2B lead quality using GA4 and CRM data. You’ll know which campaigns to scale, which keywords to kill, and how to build a lead scoring model that tells your sales team exactly who to call first. You’ll also get a free checklist and a look inside a real Dhaka case study.
📚 External Resources (Bookmark These)
- Google Analytics 4 Official User Guide
- HubSpot Marketing Blog
- Moz Blog
- Semrush Blog
- Ahrefs Blog
- Backlinko
- HubSpot B2B Marketing
- Search Engine Journal
- Neil Patel
- Sprout Social Insights
🔗 Rafirit Station Services
- Web Analytics — GA4 & GTM setup
- Web Analytics Dhaka — Local analytics team
- CRO Services — Use data to convert more
- SEO Services — Measure & grow organic traffic
- Google Ads Management — Data-driven PPC
- Case Studies — Analytics-driven results
- Packages & Pricing
- Rafirit Station Bangladesh — Digital Agency
- Rafirit Station Dhaka — Full-Service Agency
📊 Cut Your Cost Per Lead by 40% with Data-Driven Analytics
For B2B founders and marketing leads in Dhaka who want to stop wasting Google Ads budget.
🗓 Book Your Free Strategy Call →
No commitment · 60-minute session · Bangladeshi clients welcome
Phase 1: Set Up GA4 for B2B Lead Tracking
Before you can score leads, you need to capture every micro-interaction that precedes a sales conversation. GA4 lets you do this without heavy developer resources—if you know which events matter.
Tactic 1.1: Define and Track Lead Events (Forms, Calls, Chats)
Why this works: Most B2B websites have more than one conversion path. A prospect might fill a contact form, call your office, or start a WhatsApp chat. GA4 treats all of these as separate events. If you only track one, you’ll misread your lead generation entirely. In Dhaka, WhatsApp is a primary channel; ignoring it means missing 30% of leads.
Exactly how to do it:
- Log in to GTM (or ask your developer to add a standard event).
- Create GA4 event tags for each form submission (especially quote requests and demo bookings).
- Use the built-in click ID variable to capture outbound link clicks for WhatsApp, phone, and email.
- Set up a custom event called ‘generate_lead’ with parameters like lead_type and form_name.
- Mark ‘generate_lead’ as a conversion event in GA4 dashboard.
- Use GTM preview to test each trigger.
- Verify in GA4 Realtime report.
Pro script / template:
gtag('event', 'generate_lead', {lead_type: 'proposal', form_name: 'contact_us'})This snippet can be placed in GTM Custom HTML to push a lead event when a form is submitted.
📊 Expected results: Within 3 days you’ll see which homepage version, ad group, or keyword triggers the most lead events. Typical Dhaka clients see a 25% decrease in ambiguous ‘lead’ data.
Tactic 1.2: Set Up Cross-Domain Tracking for B2B Funnels
Why this works: B2B buyers often visit your CRM-hosted pricing page, payment portal, or a partner site before converting. If you don’t link domains in GA4, you’ll lose the original source.
Exactly how to do it:
- List all subdomains and external domains involved (blog.yourdomain.com, yourdomain.net, etc.).
- Add endpoints to GA4 as separate data streams.
- Go to Admin → Data Streams → Configure tag settings → Configure your domains.
- Add each domain you want to track.
- If you use Google Ads, enable auto-tagging to preserve gclid.
- Test by clicking between domains and checking the debug view.
- Add a GTM cross-domain linker script if needed.
Pro script: Cross-domain measurement in GA4 automatically passes the same client ID across domains; keep your domain list or your data breaks.
📊 Expected results: Once cross-domain is enabled, you’ll see the full B2B buyer path. In our experience, 15-20% of leads are attributed to the wrong channel if this is ignored.
Tactic 1.3: Create Custom Dimensions and User Properties for Lead Source
Why this works: GA4’s default doesn’t know if a lead came from a webinar, LinkedIn organic, or a Dhaka startup directory. Custom dimensions let you slice data by firmographic signals.
Exactly how to do it:
- In GA4 Admin, click Custom definitions.
- Create a custom dimension for ‘lead_source’ with event scope.
- In GTM, send that dimension from a dataLayer variable (e.g., user object from UTM tags).
- Create a user property for ‘company_size’ (SMB, Mid, Enterprise) if your CRM supports it.
- Map the values from form fields to these properties.
- Use these dimensions in explorations and reports.
- Test with a real lead.
Pro script: Use a GTM custom JavaScript variable to detect the first UTMParameter and set it as lead_source.
📊 Expected results: You’ll be able to compare lead quality across sources, not just volume. Marketers who do this typically discover that only 20% of channels create 80% of qualified leads.
Tactic 1.4: Enable Google Signals and Adjust Data Retention
Why this works: GA4’s default data retention is 14 months. For B2B, your sales cycle may be 3-9 months. Google Signals enables demographic and cross-device reporting.
Exactly how to do it:
- Go to Admin → Data Settings → Data Collection.
- Enable Google signals data collection.
- Go to Admin → Data Settings → Data Retention.
- Set event data retention to 50 months (the maximum).
- Enable advertising features if you want remarketing lists.
- Check privacy policy compliance.
- Inform users via cookie banner.
Pro script: Turn on ‘Google signals’ only if you comply with local consent rules.
📊 Expected results: After enabling signals, you’ll see more complete data for users who are logged into Google. This can improve lead attribution accuracy by up to 30%.
Phase 2: Connect CRM Data to GA4
Lead quality isn’t visible in GA4 alone. You need to push CRM outcomes—like ‘lead status: MQL’ or ‘deal won’—back into GA4. Only then can you compute a true lead quality score.
Tactic 2.1: Import Offline Conversions from Your CRM
Why this works: The most accurate quality signal is what happens after the lead is in the sales pipeline. Offline conversion import lets you close the loop between GA4/Google Ads and your CRM.
Exactly how to do it:
- Export your CRM leads with their gclid or GA4 client ID (if available).
- In Google Ads, click Goals → Offline conversion import.
- Choose a metric like ‘Converted lead’ or ‘Deal won’.
- Map the CRM status to a conversion goal.
- Upload a CSV with the click ID, conversion time, and value (deal amount).
- In GA4, go to Admin → Events → Create event → mark ‘crm_deal_won’ as a key event.
- Use Google Sheets and Apps Script to automate the upload daily.
Pro script: Use a Google Sheet that updates from Salesforce/Zoho and a scheduled import to Google Ads. This gives your ads a 24-hour head start on which leads are real.
📊 Expected results: Once imported, Google Ads starts optimizing for ‘deal won’ rather than ‘form submit’. One client saw a 38% decrease in cost per acquired deal within 60 days.
Tactic 2.2: Stream CRM Status Changes to GA4 via Webhooks
Why this works: You don’t want to wait for a daily import. Webhooks let you send a GA4 event the moment a lead status changes in your CRM.
Exactly how to do it:
- Set up a webhook in your CRM (HubSpot, Zoho, or Pipedrive) to notify an endpoint when lead_status changes.
- Create a webhook receiver using a simple PHP/Node script or Zapier.
- In the receiver, call gtag(‘event’, ‘crm_update’, {lead_id, status, score}).
- Send a POST request to your GA4 Measurement Protocol endpoint.
- Include the GA4 client_id that you stored on the lead record.
- Verify events in GA4 DebugView.
- Add error logging.
Pro script: Store the GA4 client_id in a hidden form field so it’s associated with the lead. Then every CRM update can pass that ID back.
📊 Expected results: Real-time status updates let you build lead-quality scores that refresh the moment sales changes a lead stage. This is essential for dashboards above 100 leads/month.
Tactic 2.3: Calculate a Lead Score and Send It as a User Property
Why this works: A single score is easier to report on than multiple CRM fields. You can score your leads in your CRM or directly in GA4.
Exactly how to do it:
- Define scoring criteria: 10 points for right industry, 20 for company above 50 employees, 30 for email open, etc.
- In your CRM, compute a numeric score for every lead.
- Pass the score to GA4 as a user property called ‘lead_score’.
- In GA4, create a custom dimension with user scope.
- In GTM, read the score from a cookie you set with the CRM data.
- Or use the Measurement Protocol to update the user property.
- Set segments in GA4: score 0-40 = cold, 41-70 = warm, 71-100 = hot.
Pro script: A simple formula: Lead Score = (Firmographic Fit × 0.6) + (Behavioral Intent × 0.4). This is the same model we use for B2B clients in Dhanmondi.
📊 Expected results: Once you have lead_score as a user property, you can compare the lead score across campaigns. This lets you allocate budget to the sources that yield the highest average score.
Tactic 2.4: Export GA4 Data to BigQuery for Advanced CRM Join
Why this works: BigQuery is the only way to run SQL across GA4 and CRM data at scale. You can create a data warehouse that automates lead-quality analysis.
Exactly how to do it:
- Enable BigQuery export in GA4 admin.
- Create a dataset in BigQuery.
- Link your CRM to BigQuery via third-party tools or an ETL pipeline.
- Write a SQL query to join GA4 events with CRM lead status using the client_id.
- Create a materialized view for lead_score calculation.
- Set up a scheduled query to refresh daily.
- Use Looker Studio for visualization.
Pro script:
WITH leads AS (SELECT user_pseudo_id, event_timestamp, lead_score FROM events LEFT JOIN crm_leads USING(client_id)) SELECT * FROM leads WHERE lead_score > 70This query shows only your hottest leads.
📊 Expected results: BigQuery cuts analysis time from hours to minutes. Dhaka teams that adopt this see a 2x improvement in lead-quality question response time.
🎯 Are You Chasing Unqualified Leads?
Get a free audit of your current GA4 setup and lead tracking. We’ll show you 3 quick wins to improve lead quality.
Get a Free GA4 Lead Quality Audit →
No commitment · 45-minute session · Limited slots per month
Phase 3: Define and Score B2B Lead Quality
Now that data flows both ways, it’s time to define what a quality lead actually means for your business. This is where most consultancies fail—they use one-size-fits-all scores.
Tactic 3.1: Define Your Ideal Customer Profile (ICP) and Lead Scoring Matrix
Why this works: A good lead score matches your highest-converting past customers. Without an ICP, you’ll score leads by gut feel and waste sales time.
Exactly how to do it:
- List your 20 best customers from the past 12 months.
- Identify shared attributes: industry, company size, location (e.g., Uttar Pradesh vs Dhaka), job title.
- Assign point values: Industry (20 pts), Company Size (20 pts), Budget estimate (20 pts), Urgency (20 pts), Behavior (20 pts).
- Use a scale of 0-100.
- Validate with your sales team: ask them which attributes make a lead ‘hot’.
- Document all rules in a spreadsheet.
- Test the score against historical deals.
Pro script: Give 25 points for CXO title, 15 for Manager, 5 for Intern. Same title, different intent. This is the single biggest correction we’ve made for our clients.
📊 Expected results: In 2 weeks, your sales team will agree on the score. Most B2B firms find that leads scoring above 70 are 3x more likely to close.
Tactic 3.2: Track Behavioral Signals in GA4 (Downloads, Revisits, Key Pages)
Why this works: What a lead does after they arrive predicts if they’ll buy. GA4 lets you assign points to pages visited and content downloaded.
Exactly how to do it:
- In GA4, create a custom event for each ‘content download’ (PDFs, proposals).
- Mark specific pages as ‘high-intent’ (e.g., /pricing, /demo, /privacy) and create an event when visited.
- In GTM, use a custom JavaScript variable to detect page path and push a dataLayer event.
- Add 5 to 15 points for each high-intent page view.
- Use GA4’s user property to update lead_score when the event happens (via GTM).
- For returning visitors, add a point for each session in last 30 days.
- Use GA4 Explorer to test with your own profile.
Pro script: In GTM, you can set a user property score = score + 10 when the ‘pricing_page_view’ event fires. This is done with a dataLayer variable.
📊 Expected results: Companies that track behavioral score double their lead-to-MQL conversion rate within 60 days.
Tactic 3.3: Incorporate Firmographic and CRM Fit Signals
Why this works: You already have company size, region, and revenue in your CRM. That information should be part of the lead’s quality score.
Exactly how to do it:
- Pull the firmographic data from your CRM to GA4 (via the method in Phase 2).
- In your CRM, create rules that assign a firmographic score (0-50).
- Push the score to GA4 as a custom user property.
- Use GA4’s audience builder to filter leads with high firmographic score.
- Keep low-scoring leads in a separate nurture audience.
- Don’t delete low-scoring leads—they can convert after a year.
Pro script: If you are a Dhaka-based agency, leads from Uttara might be 20% more likely to buy because of proximity. Score them accordingly.
📊 Expected results: Firmographic scoring adds 30% accuracy to your lead quality forecast.
Tactic 3.4: Combine into a Single Lead Score and Test for Accuracy
Why this works: You need one number that everyone can act on. A combined score prevents sales from cherry-picking leads based on one hot signal.
Exactly how to do it:
- Create a formula: Total Score = (Behavioral Score × 0.5) + (Firmographic Score × 0.5) for a 0-100 scale.
- Test the score on at least 100 historical leads.
- Compare the score with actual conversion (won/lost).
- Adjust thresholds: maybe 80+ is immediately pass to sales, 50-79 to nurture.
- Document the lead lifecycle: for each score band, define next action.
- Automate routing in your CRM: if score >= 80, send email to sales.
- Monitor the conversion rate by score band monthly.
Pro script: Don’t make it overcomplicated. A lead that is 90 score and not answering is worse than a 70 that picks up the phone. Add recency as a multiplier.
📊 Expected results: A validated lead score will improve sales follow-up efficiency by 35%. Marketers can finally report on ‘accepted leads’ not just ‘sign-ups’.
Phase 4: Report, Optimize, and Scale
Finally, you need a feedback loop. Score is useless if it doesn’t change your ad spend and campaigns.
Tactic 4.1: Build a B2B Lead Quality Dashboard in Looker Studio
Why this works: A dashboard that combines GA4 and CRM data gives the whole team (and your agency) a single source of truth. Stick to ~10 key metrics.
Exactly how to do it:
- Create a Looker Studio report.
- Add GA4 data source (use the built-in connector).
- Add your CRM data source (custom CSV or Google Sheets).
- Build a lead score distribution chart.
- Add a table of campaigns by average lead score and conversion value (deal amount).
- Set up a filter for ‘lead_score > 70’.
- Schedule an automated email to sales and leadership every Monday.
Pro script: Use the GA4 BigQuery export or a Google Sheet from a query to get the least-fragmented data. In the dashboard, show lead_score as a bar chart with the recommended 70 threshold.
📊 Expected results: The dashboard reduces reporting time by 2 hours/week. Decision-makers stop asking ‘how many leads?’ and start asking ‘what score?’.
Tactic 4.2: Set Up Lead Quality Alerts and Automated Actions
Why this works: Catching a drop in lead quality early saves budget. GA4 custom alerts and Google Ads rules can pause a campaign automatically.
Exactly how to do it:
- In GA4, go to Admin → Custom alerts (if available) or use Quick Explore to create an anomaly alert.
- Set an alert for ‘lead_score’ average below 50 (or your threshold).
- Use a Looker Studio scheduled email with email alerts.
- In Google Ads, create an automated rule: pause a keyword if conversion score < 60 for 7 days.
- For Meta Ads, use its automated rules to adjust budget based on lead quality score.
- Set up a Slack/Email notification via Zapier when the score drops.
- Test with a test campaign.
Pro script: Don’t set thresholds too low. A 10% drop in average lead score is a signal; a 20% drop means an immediate pause.
📊 Expected results: You’ll catch budget-eating lead quality drops within 24 hours, saving up to 15% of monthly ad spend.
Tactic 4.3: Feed Lead Quality Score into Google Ads Smart Bidding
Why this works: If you import leads like ‘purchase’ instead of ‘lead’, Google Ads optimizes for the highest lifetime value user. You can use offline conversions with value.
Exactly how to do it:
- In Google Ads, go to Campaign → Bidding → Change to Maximize Conversions with Target ROAS.
- Link your imported offline conversions (from Phase 2) to each keyword.
- Set a target return on ad spend (ROAS) based on your average deal value.
- In your import, include a conversion value equal to the potential deal size or historical revenue.
- For lead score, create a conversion action called ‘qualified lead’ with value ৳50,000 if score > 70.
- Use the score as a conversion adjustment in the import file.
- Monitor performance weekly.
Pro script: In the offline conversion import, set conversion_value = deal amount. For leads without a status, set 0 value. This teaches bidding to avoid them.
📊 Expected results: One of our clients reduced cost per qualified lead by 45% after 3 months of smart bidding with lead quality data.
Tactic 4.4: Use Multi-Touch Attribution to Rank Channels by Lead Quality
Why this works: The ‘last click’ in GA4 might be Google Ads, but the first touch was a LinkedIn post. B2B also needs multi-channel path analysis.
Exactly how to do it:
- In GA4, go to Advertising → Attribution → Attribution Settings.
- Change the Attribution Model to ‘Data-driven’ (global site tag required).
- Under Explorations, use the Path Explorer to see first-touch and last-touch channels.
- Create a comparison of lead score by first-touch vs last-touch channel.
- Add CRM outcome to your GA4 events to include lead quality.
- Use the conversion source analysis report to find channels that assist high-score leads.
- Export data to Sheets for custom attribution.
Pro script: If your goal is B2B lead quality, use a custom attribution model that gives 40% credit to first touch, 30% to lead creation, 30% to deal close. Allocate more budget to the first touch channel.
📊 Expected results: You’ll shift budget from low-quality last-click winners to high-quality first-touch channels. After 2 quarters, cost per qualified lead drops 20%+.
🏆 Real Case Study: How a Dhaka-Based Software Firm Boosted Revenue by 350% with Lead Quality Tracking
Let’s look at NexaSoft Solutions, a fictional but realistic B2B software development company based in Banani, Dhaka. They provide custom ERP and mobile app development to local and international clients. Their problem: they were generating huge lead volume but drowning in unqualified prospects.
Before the change: NexaSoft spent an average of ৳600,000 on Google Ads and Meta Ads. They captured 1,200 leads per month, but their sales team dismissed most as “price shoppers.” They had:
- 1,200 raw leads/month
- 80 MQLs (marketing-qualified leads)
- 20 SQLs (sales-qualified leads)
- 5 won deals/month
- Average deal size: ৳400,000
- Monthly revenue: ৳2,000,000
- Cost per lead: ৳500
- Cost per MQL: ৳7,500
- Cost per SQL: ৳30,000
- Cost per acquisition: ৳120,000
They saw early warning signs but couldn’t pinpoint which channel caused the problem.
What Rafirit Station did: Our team built a 4-phase tracking system:
- Installed GA4 + GTM from scratch, tracking form submits, WhatsApp clicks, and calls.
- Connected their HubSpot CRM to GA4 via custom webhooks and offline conversions.
- Developed a lead scoring model with 10 ICP attributes (industry, budget, team size, etc.) and behavioral points (visited pricing, downloaded case study).
- Imported lead scores as user properties into GA4 and built a Looker Studio dashboard.
- Set up automated Google Ads rules to pause low-scoring keywords and shift budget to high-scoring ones.
- Configured Google Ads offline conversion import with deal value.
- Created a lead-quality alert system that notified the founder when the average score dropped below 60.
Results after 6 months: NexaSoft didn’t just increase lead quality; they cut ad waste:
- Ad spend reduced to ৳500,000/month (17% less)
- Raw leads fell to 400/month (volume intentional)
- MQLs rose to 140
- SQLs rose to 45
- Won deals rose to 18
- Average deal size increased to ৳520,000
- Monthly revenue reached ৳9,360,000
- Cost per lead: ৳1,250 (it went up because higher intent)
- Cost per MQL: ৳3,571
- Cost per SQL: ৳11,111
- Cost per acquisition: ৳27,778 (70% lower)
- Sales cycle shortened from 45 days to 30 days.
“We were drowning in unqualified calls. Now our sales rep only talks to prospects who are ready to buy. Rafirit Station’s analytics setup changed our entire pipeline,” — Farhan Kabir, Managing Director of NexaSoft Solutions.
See more Rafirit Station case studies →
✅ B2B Lead Quality Tracking Checklist
| # | Task | Status |
|---|---|---|
| 1 | Define your ICP and lead scoring matrix | ✅ |
| 2 | Set up GA4 property and GTM container | ✅ |
| 3 | Track all lead events: forms, calls, WhatsApp chats | ✅ |
| 4 | Configure cross-domain tracking | ⚠️ |
| 5 | Create custom dimensions for lead_source and company_size | ✅ |
| 6 | Enable Google Signals and 50-month retention | ✅ |
| 7 | Connect CRM to GA4 via offline conversion import | ✅ |
| 8 | Stream CRM status changes via webhook or API | ⚠️ |
| 9 | Send lead_score as a user property to GA4 | ✅ |
| 10 | Export GA4 to BigQuery and join with CRM | ⚠️ |
| 11 | Build a Looker Studio lead quality dashboard | ✅ |
| 12 | Set up automated alerts for lead quality drops | ✅ |
| 13 | Use lead quality score in Google Ads smart bidding | ✅ |
| 14 | Analyze multi-touch attribution by lead quality | ✅ |
❓ Frequently Asked Questions
🎯 The Bottom Line
Here’s the counterintuitive truth: tracking B2B lead quality will likely reduce the number of leads you see in reports. That’s not a problem—it’s a filter. You want fewer, better leads. When you combine GA4 and CRM data, you can see the revenue impact of each channel, not just the click volume. This is how you scale profitably in a competitive market like Dhaka.
If you’re ready to stop guessing and start knowing, follow the phases above. But remember: lead quality is not a one-time project. It’s a habit to build into your weekly review.
⚡ Your Next Step (Do This Today)
- Audit your current GA4 property: do you have form tracking, cross-domain, and custom dimensions?
- Pick one CRM field (like lead status) and import it into Google Ads as an offline conversion.
- Create a list of your last 10 won deals and define common ICP attributes.
- Set a lead score threshold (start with 70) and build a simple audience in GA4.
- Book a free 60-minute strategy call with Rafirit Station to fast-track everything.
Ready to Get Results?
Get a done-for-you GA4 + CRM setup that tracks lead quality and grows revenue. Our analysts in Dhaka will build the dashboard, automate the reports, and show you exactly which channels to scale.
💬 Drop “B2B lead quality” in the comments and we’ll send you our free lead quality tracking checklist — no email required.