ANALYTICS & TRACKING SETUP

Every paid decision runs on data — make sure yours is accurate

US businesses running paid acquisition face three compounding tracking problems: iOS 14 signal loss degrading Meta performance data, Salesforce and HubSpot CRM data that never flows back into Google Ads, and last-click attribution that systematically undercredits the channels doing the most work. We build the tracking infrastructure that connects what your CRM knows to what your ad accounts can learn.

Salesforce and HubSpot offline conversion import configured · Meta CAPI setup for iOS 14+ signal recovery · Multi-touch attribution model configured in GA4 · Full setup in 10 days
This is for you if

Who This Is For

Profile 1 — B2B or high-consideration business with a CRM and no offline conversion import: Your sales team closes deals in Salesforce or HubSpot. Your marketing team runs Google Ads and Meta campaigns. The two systems have never been connected. Every deal your CRM marks as closed was started by an ad click that your campaigns have no record of. Smart Bidding is optimising toward lead form submissions because that is the only conversion signal it has — not toward the lead-to-close rate that your CRM could provide.

Profile 2 — E-commerce or DTC brand with degraded Meta performance data post iOS 14: Your Meta campaigns have been running since before iOS 14, and the reported ROAS has declined steadily even as your actual revenue has held steady or grown. The signal loss from Apple's App Tracking Transparency framework means your pixel is missing a significant portion of iOS conversion events. Meta's algorithm is bidding on an incomplete picture of who converts, which affects audience targeting, delivery, and reported efficiency.

Profile 3 — Multi-channel business that has outgrown last-click attribution: You run paid search, paid social, display, email, and organic — and your attribution model gives 100% of the credit to whichever channel happened to be last before the conversion. Your paid search brand campaigns look incredibly efficient. Your awareness-stage paid social campaigns look like they produce nothing. You know this is not an accurate picture, but you have never configured an alternative attribution model to test it against.

What's broken

What's Broken

Problem 1 — CRM data never flows back into Google Ads or Meta

Salesforce and HubSpot contain the ground truth about which leads became customers and at what deal value. Google Ads and Meta contain the history of which ad clicks generated those leads. Without offline conversion import connecting the two, your campaigns are optimising toward lead volume rather than lead quality. A campaign generating 100 low-intent form fills looks better than a campaign generating 20 high-intent enquiries that close at 60% — because the closing data never makes it back to the ad account.

Problem 2 — iOS 14 signal loss degrading Meta attribution

Since the App Tracking Transparency rollout, browser-based Meta Pixel tracking misses a material share of iOS conversions. The exact proportion varies by audience, but for consumer brands with iOS-heavy audiences, the gap between reported Meta conversions and actual conversions attributable to Meta can be substantial. Without Conversions API (CAPI) sending server-side events to supplement pixel data, the Meta algorithm is flying with one engine.

Problem 3 — Duplicate conversion actions inflating Google Ads reported performance

Google Ads accounts that have been running for several years typically have legacy conversion actions sitting alongside current ones. A GA4-imported purchase event, a legacy Universal Analytics goal, and a direct Google Ads conversion tag can all be active simultaneously. The algorithm counts each as a separate conversion — so one actual sale generates three conversion signals. ROAS targets built on this data are systematically unachievable once the duplication is removed.

Problem 4 — Last-click attribution creating systematic bias in budget decisions

Multi-channel acquisition programs cannot be managed accurately with last-click attribution. Paid social and display, which operate at the top and middle of the funnel, generate no last-click credit even when they are driving significant purchase intent. Budget decisions driven by last-click data consistently underfund upper-funnel channels and overfund branded paid search — which often captures demand that was already created by the channels receiving no credit.

What we engineer

What We Do

Area 1 — GA4 Property Configuration

We configure GA4 key events, conversion marking, and custom dimensions for the full customer journey. For B2B businesses, this includes lead stage events tied to CRM pipeline stages. For e-commerce, this includes enhanced e-commerce configuration with product-level data, purchase deduplication, and GA4-to-Google Ads linking. Data-driven attribution is enabled in GA4 where conversion volume supports it.

Area 2 — GTM Container Audit and Event Schema

Your GTM container is audited for legacy tags, duplicate triggers, and misconfigured variables. A clean event schema is built that covers all conversion touchpoints relevant to your customer journey. The data layer is documented so your engineering team can maintain and extend it independently. For businesses using Segment or a customer data platform, we audit the connection between the CDP and GTM to ensure events are not being double-fired.

Area 3 — Google Ads and Meta Conversion Events

Conversion actions in Google Ads are audited and rebuilt: legacy UA-based conversion imports are removed, GA4-based imports are verified, and direct conversion tags are deduped. Meta Pixel is audited for duplicate pixel fires and CAPI is configured server-side to recover iOS conversion signal. Event deduplication between Pixel and CAPI is implemented using event ID matching to prevent double-counting.

Area 4 — Salesforce and HubSpot Offline Conversion Import

We configure offline conversion import from your CRM into Google Ads. When a lead advances through defined pipeline stages in Salesforce or HubSpot — from MQL to SQL to Closed Won — each stage transition is imported as a separate offline conversion event. Smart Bidding can then optimise toward lead quality (Closed Won) rather than lead quantity (form fill). The GCLID capture mechanism is set up on your lead forms to ensure ad click data is preserved through the CRM journey.

Area 5 — Call Tracking

CallRail or a native Google Ads call tracking configuration is set up to capture phone conversion events. Dynamic number insertion separates calls from paid, organic, and direct sources. Call duration thresholds are set to filter out short calls that do not represent qualified enquiries. Call conversion data is imported into Google Ads as an offline conversion source.

Area 6 — Google Merchant Centre

For e-commerce businesses, we audit Merchant Centre for feed errors, suppressed products, and conversion linking. We verify that Shopping campaign purchase conversion tracking is not duplicated between a native platform integration and a GTM tag, and that conversion values flowing into Google Ads match actual order revenue rather than estimated or default values.

What changes

What Changes

Before
After
Before Smart Bidding optimises toward lead volume because form fills are the only conversion signal it has
After Smart Bidding optimises toward revenue, not lead volume — when Closed Won data from Salesforce or HubSpot flows back into Google Ads as an offline conversion event, campaigns start optimising toward the leads that actually close, not just the leads that fill out forms. Over time, the audience targeting, keyword selection, and bid adjustments shift toward the characteristics of your best customers, not your most frequent enquirers.
Before Meta attribution is missing a material share of iOS conversions and reported ROAS keeps declining
After Meta attribution recovers signal lost to iOS 14 — CAPI implementation typically recovers a material portion of conversion events that browser-based pixel tracking is missing. Reported ROAS moves closer to true ROAS. The Meta algorithm has a more complete picture of who converts, which improves audience modelling, lookalike quality, and delivery efficiency. Campaigns that appeared to be declining in performance stabilise or improve.
Before Last-click attribution makes upper-funnel channels look like they produce nothing
After Multi-touch attribution makes upper-funnel investment justifiable — with data-driven or linear multi-touch attribution configured in GA4, upper-funnel channels receive credit for the role they play in assisted conversions. The systematic bias toward branded paid search — which is typical in last-click models — is visible in a comparison report, and budget allocation decisions can be made with both models in view rather than with last-click as the only reference point.
Before GA4, Google Ads, Meta, and the CRM report different numbers with no explanation
After A single source of truth across your stack — GA4, Google Ads, Meta, and your CRM will reference the same underlying conversion events. Discrepancies narrow to explainable differences (attribution windows, view-through conversions, time-lag) rather than fundamental data integrity gaps. Reporting to stakeholders stops requiring a footnote about why the numbers do not match.
Common questions

FAQ

We use Salesforce — how does GCLID capture work in our lead forms?

GCLID is the Google Ads click identifier passed as a URL parameter when a visitor arrives from a Google Ads click. We configure a hidden form field on your lead forms to capture the GCLID value and store it with the lead record in Salesforce. When a deal closes, the GCLID is included in the offline conversion import file, and Google Ads attributes the close to the original ad click. No Salesforce API development is required for the basic import — only for automated, real-time import rather than batch upload.

How much of iOS signal loss does CAPI actually recover?

The recovery rate depends on your audience composition and which events are affected. Meta's own data suggests that businesses implementing CAPI alongside Pixel typically see 10–20% more attributed conversions than Pixel alone — the actual figure varies by industry, audience, and the share of iOS users in your customer base. CAPI does not reverse ATT; it adds a parallel server-side signal that supplements what the browser-based pixel can no longer see.

We already have data-driven attribution in Google Ads — do we still need to configure it in GA4?

Google Ads data-driven attribution and GA4 data-driven attribution operate independently and answer different questions. Google Ads DDA distributes credit among touchpoints within the Google Ads ecosystem only. GA4 DDA attributes across all channels tracked in GA4 — including organic, direct, email, and paid social. Both are valuable and serve different analytical purposes; we configure and explain both.

Our HubSpot and Google Ads are already connected via the native integration — is that sufficient?

HubSpot's native Google Ads integration imports contact-level conversions based on email matching, which has lower match rates than GCLID-based import. GCLID capture is more reliable for attributing offline closes to specific ad clicks, particularly for lower-funnel pipeline events. We review what your current integration is capturing and supplement it with GCLID-based import for deal-close events where the native integration falls short.

Will switching from last-click to data-driven attribution change our bidding targets?

Switching attribution models changes how conversion credit is distributed, which changes which campaigns and keywords appear most efficient. This typically means some campaigns will show lower last-click conversions under DDA and others will show higher — the total does not change, only the distribution. We recommend running both attribution models in parallel for 30 days before making bid strategy changes, so you can see the full picture before acting on it.

Our team

The people behind the work

Not a black box. Real specialists you can call, with their names on the work.

Niraj Raut

Niraj Raut

Founder — Ecommerce SEO
Keshab Joshi

Keshab Joshi

PPC Expert
Hawrry Bhattarai

Hawrry Bhattarai

Google Ads Expert
Arogya Rijal

Arogya Rijal

SaaS SEO Expert
Start here

Your CRM knows which leads became customers. Your ad accounts should too.

If your Salesforce or HubSpot deals have never been connected to the Google Ads clicks that started them, if your Meta performance has declined steadily since iOS 14 without CAPI in place, or if your entire attribution model is last-click — you are optimising toward the wrong outcomes. A 10-day tracking setup connects the CRM to the ad account and gives your campaigns the inputs they need to improve.

10-day turnaround. Audit before any changes. You own everything we build.