Integrations · Ads

The CRM ads integration layer that closes the loop on paid spend.

Paid media platforms optimize to whatever signal they get. If the only signal is "someone filled a form," they optimize to form fills, not revenue. Strkr pushes real deal outcomes back to Google Ads, Meta, LinkedIn, TikTok, and Microsoft Ads so the bidding model sees what actually closed, and the ROAS number in the ad account matches the ROAS number in finance.

Why buyers are here

Ads integrations: what matters for CRM teams.

Buyers landing on a CRM ads integration page have usually spent the last six months watching their cost per acquisition drift upward while form fills look fine on the surface. The disconnect is almost never a creative problem. It is a data problem: the ad platform is optimizing to a top-of-funnel signal because nobody is sending the mid-funnel and bottom-of-funnel signals back. The pain points below are the ones paid media leads and revenue operators tell us drove them to look for a real CRM ads integration instead of another tag-manager workaround.

Lead capture from paid ads

Lead Ads sit in a dashboard the sales team never opens.

Facebook, Instagram, LinkedIn, and TikTok all ship native Lead Ads forms that fill with one tap and submit without ever leaving the feed. The conversion rate is excellent, which is exactly the problem: the lead lands in the ad platform leads library, nobody from sales has read access, and by the time a weekly CSV export reaches the CRM the lead is cold. Every hour of delay costs roughly 10 percent of expected contact rate, so a 48-hour export cadence is losing most of the pipeline the ads bought in the first place.

Offline conversion upload

The ad platform never learns what actually closed.

Google Ads, Microsoft Ads, LinkedIn, and the Meta Conversions API all accept offline conversion uploads keyed to the click identifier (gclid, msclkid, li_fat_id, fbc) or a hashed PII match. Almost no team ships them. The bidding model optimizes to form fills forever, cost per lead looks healthy on the surface, and cost per closed-won quietly climbs because the algorithm has no idea which forms turned into revenue. Fixing this one data flow usually drops cost per opportunity 20 to 40 percent inside a quarter.

CAPI and server-side events

Browser pixels miss half the audience after iOS 14.5.

Apple App Tracking Transparency and third-party cookie deprecation have cut client-side pixel coverage somewhere between 40 and 60 percent depending on audience mix. The Meta Conversions API, Google Enhanced Conversions, TikTok Events API, and LinkedIn Conversions API all exist to fill that gap with first-party server-side events keyed to hashed email, phone, click id, and browser cookies. Running them properly means the CRM has to be the system of record for the event payloads, because the browser is not reliable anymore.

Audience sync

Suppression lists and lookalike seeds are always stale.

Every paid team wants two audience flows: suppress existing customers from acquisition campaigns, and seed lookalikes off closed-won by segment. Both require a live sync from the CRM to each ad platform audiences surface (Google Customer Match, Meta Custom Audiences, LinkedIn Matched Audiences, TikTok Custom Audiences). The usual answer is a weekly CSV upload, which means a week of wasted spend on customers who should have been suppressed, and a week of lookalike models trained on last month's book.

ROAS attribution

The ad platform ROAS and the CRM revenue number never match.

Google Ads reports revenue from its own view-through and click-through windows. Meta reports a different number from its own windows. The CRM reports actual closed-won. The three numbers can diverge by 2x, which breaks every budget conversation. The only way to reconcile is to send real revenue values with the offline conversion upload and label each conversion with the originating click id, so every platform reports attribution against the same denominator the finance team uses on the monthly review.

Closed-loop reporting

Paid spend reporting lives in six surfaces and reconciles in none.

Google Ads, Meta Ads Manager, LinkedIn Campaign Manager, TikTok Ads Manager, Microsoft Advertising, and the CRM each tell their own story about the same campaign dollars. The weekly roll-up is a human in a spreadsheet copying numbers out of six places and praying the UTMs are consistent. Closed-loop reporting means the CRM pulls spend from each platform, joins it to the campaign-tagged leads and deals it already owns, and produces a single revenue-per-channel view the paid lead can actually run the next bid review from.

Providers in Strkr

Ads integrations available today.

Strkr ships one native ads provider today, with the integration pattern deliberately generalized so additional platforms slot into the same ingest, event, and audience fabric as they clear review. The Meta integration covers Facebook and Instagram as a single surface. Google Ads, LinkedIn, TikTok, and Microsoft Advertising connect through the same closed-loop pattern via webhooks and the native Google Ads conversion upload action in Flows, with first-class provider pages shipping as App Review and partner reviews clear. Everything below is live on paying tenants.

Meta

One-click connect for Facebook and Instagram ad attribution.

How Strkr fits paid media

What a real CRM ads integration has to do.

A credible ads integration is not a pixel paste. It is a two-way data contract between the CRM and each ad platform that covers lead ingest, event firing, audience sync, and closed-loop revenue reporting. Strkr ships that contract as a single data model on the deal and contact record, so paid media leads stop maintaining four separate integrations with four separate drift modes. The capabilities below are what the integration layer actually produces once a tenant connects an ad account.

Lead Ads ingest

Native forms land as CRM leads in under a minute.

Meta Lead Ads webhook into Strkr the moment the form submits, with the full form payload, campaign, ad set, and ad id attached as source fields on the lead record. LinkedIn Lead Gen Forms, TikTok Instant Forms, and Google Ads Lead Form Extensions follow the same ingest pattern through platform webhooks. The lead reaches the assigned rep inside the hour that drove it, not inside the next weekly export.

Offline conversion upload

Real revenue, real currency, back to the ad platform.

When a deal closes won, Strkr fires an offline conversion event back to every ad platform that touched the originating click. Google Ads gets a gclid-keyed conversion with revenue value. Microsoft Ads gets the msclkid-keyed equivalent. Meta gets a server-side CAPI Purchase event. LinkedIn gets the li_fat_id-keyed conversion. The bidding models learn from the real outcome within the same optimization window instead of a quarter late.

Server-side CAPI

First-party events the browser cannot drop.

Strkr Flows ship a Meta CAPI action, a Google Enhanced Conversions action, a TikTok Events API action, and a LinkedIn Conversions API action. Fire them on any flow trigger: form submit, deal stage change, pipeline move, meeting booked, call connected, demo completed, or trial converted. Hashed email, phone, and click id payload are built on the server from the CRM record, so the event never depends on a cookie that may already be gone.

Audience sync

Live suppression and lookalike seeds without a CSV.

List views in Strkr push to Google Customer Match, Meta Custom Audiences, LinkedIn Matched Audiences, and TikTok Custom Audiences on a schedule, with incremental membership updates. Build the audience once as a saved view (existing customers, trial active, churn risk, closed-won last 90 days), tag the destination, and the audience stays current. Suppression lists stop a day of wasted spend, lookalike seeds stop training on last month's book.

UTM and click-id capture

Every lead carries the attribution breadcrumbs.

Strkr captures utm_source, utm_medium, utm_campaign, utm_content, utm_term, gclid, msclkid, fbclid, li_fat_id, and ttclid on every inbound lead automatically. The values persist on the contact and the deal so downstream reporting, audience sync, and offline conversion upload can join on the correct identifier later. First-touch, last-touch, and multi-touch attribution models all read from the same captured column set, no second schema required.

Consent and compliance

Server-side events respect the opt-out, every time.

Hashed-PII server-side events run under the same consent framework as outbound email and SMS. If a contact opts out of marketing, Strkr stops firing acquisition-side events for that record and keeps retention-side events (support, product) exactly where they belong. GDPR, CCPA, and the Meta data processing options for California traffic all respect the same tenant-level config, so the paid team is not accidentally overriding the privacy team.

Closing the loop

From click to closed-won on one record.

The hard part of ads integration is not the first event. It is keeping the identity chain intact for 30, 60, 90 days while the deal moves through pipeline. Strkr holds the chain on the deal record itself so the loop closes automatically whenever the stage advances. The sections below are the four reporting primitives paid media leads ask for on every first call, and the four flows that produce them without a middleware vendor in the middle.

Click-to-deal identity

The gclid stays attached from form to invoice.

The click identifier captured at form submit lives on the lead, carries over to the contact when the lead converts, and lands on the deal when the opportunity is created. Nothing in the handoff drops it. Downstream flows that fire offline conversions, audience updates, and revenue reports read the identifier from the deal, so the ad platform always joins the right spend row to the right revenue row.

Revenue-keyed conversions

The ad account optimizes to dollars, not form fills.

When a deal moves to closed-won, Strkr fires the offline conversion with the real annual contract value in the real currency. Every ad platform smart bidding model has a dollar-aware mode: Target ROAS on Google, Value Optimization on Meta, Highest Value on LinkedIn, Value-Based Bidding on TikTok. Giving the model actual dollars instead of a flat 1.0 per lead is the single highest-leverage change most teams make in a quarter.

View-through and iOS lift

Server-side events recover the attribution iOS took.

Post iOS 14.5 and the Chrome third-party cookie deprecation, browser-side pixels are catching materially less of the real audience. Server-side events through CAPI, Enhanced Conversions, and the equivalent LinkedIn and TikTok endpoints recover a meaningful share of the lost signal because they key on hashed PII and server-known click ids instead of a cookie the browser already dropped. Teams running both see 15 to 30 percent lift in reported attributed conversions.

Multi-touch roll-up

Attribution without a sixth vendor on the stack.

Strkr reports first-touch and last-touch channel attribution out of the box, with a linear multi-touch mode available on the pipeline. Spend ingests from each ad platform join to the campaign-tagged leads on utm_campaign, which rolls into deal revenue by channel. The paid lead gets one dashboard with revenue per channel, cost per channel, blended CAC, and payback period, built from the live CRM record rather than a static monthly spreadsheet.

Flows automate the hand-back

No ETL job, no reverse-ETL vendor, no CSV cadence.

The entire closed-loop pattern runs as Strkr Flows: lead captured, lead qualified, deal created, deal advanced, deal closed-won, deal closed-lost. Each stage transition can fire the corresponding server-side event to any configured ad platform with the right event name, revenue value, and identifier payload. The paid lead edits the mapping in the UI; the engineering team never ships code for the next ad platform.

Suppression on close

The second someone pays, acquisition stops spending on them.

Closed-won automatically moves the contact into the customer suppression audience on every connected ad account. That one flow stops the single most common wasted-spend pattern in B2B advertising: continuing to run acquisition against a customer who already signed. The audience push is incremental, so new customers suppress inside hours not weeks.

What this unblocks

The reporting and audience work the paid team actually wants.

Once the CRM ads integration is in place, a handful of workflows become possible that paid media leads have been quietly cobbling together in spreadsheets for years. The cards below are the ones Strkr tenants ship first after the connection goes live.

Qualified-lead optimization

Bid toward MQLs, not raw form fills.

Fire a server-side event when the lead crosses the MQL threshold inside the CRM, not when the form submits. Smart bidding models learn to prefer traffic that qualifies, not traffic that fills forms. Cost per MQL replaces cost per lead as the bid signal, and the junk-lead problem on broad-match keywords and lookalike audiences fades within a few optimization cycles.

SQL and opportunity events

Push mid-funnel milestones back to the platform.

Deal created, deal moved to proposal, demo scheduled, demo attended, trial activated: every one of these is a legitimate conversion event on the ad side if the sales cycle is long enough that waiting for closed-won starves the bidding model. Strkr Flows let the paid lead decide which milestones fire which platform events, with revenue values scaled to deal probability.

Lookalike seeds that update themselves

High-ACV lookalikes without a Thursday CSV ritual.

Build the seed audience as a saved view (closed-won last 180 days, ACV above threshold, segment equals ideal customer profile). Point it at Meta, Google Customer Match, LinkedIn, TikTok. The audience refreshes on the schedule the tenant picks, and the ad platform rebuilds the lookalike against the current winners instead of the ones from two quarters ago.

Account-based ad audiences

Target the account, not the person, from the CRM list.

Account-based buyers export target account lists to LinkedIn Matched Audiences for company targeting, Meta for domain-based audiences, and Google Customer Match for the hashed-email variant. Strkr lets any account list drive any of those audiences from a saved view, so the ABM team runs campaigns against the same list the SDR team is prospecting instead of a stale export.

Churn and winback campaigns

The CRM knows who left; the ad platform does not.

Churn stage in the CRM pushes contacts into a dedicated winback audience on each connected ad platform with a different creative, bid, and offer than acquisition. Winback campaigns run against a live list of actually churned customers instead of a hand-maintained one, with full suppression of currently-active customers so the ad does not reach a happy user by mistake.

Revenue reporting the CFO trusts

One blended CAC the finance team can defend.

Spend from every connected ad platform joins to deals in Strkr by click id and campaign tag. Blended CAC, channel CAC, payback period, LTV to CAC, and ROAS by cohort all read from the same joined dataset. When finance asks for channel contribution, the paid lead opens one dashboard instead of starting a four-tab spreadsheet.

The operational detail

The things most CRM ads integrations get wrong.

Most CRM categories ship an ads integration that looks complete in a demo and fails in production the moment real campaign scale hits it. The gotchas below are the ones Strkr handled explicitly during the Meta build and now generalizes across every ad platform it adds. Reading them is a reasonable way to pressure-test whichever vendor is on the shortlist.

Deduplication on event id

Browser pixel and server event, counted once.

When both the browser pixel and the server-side CAPI event fire, every ad platform deduplicates on event_id if it is set correctly. Strkr sets event_id as the CRM record id plus event name hash so the two signals collapse to a single conversion instead of double-counting. Most hand-rolled integrations skip this and inflate reported conversions by 50 to 100 percent, which the paid lead eventually catches during the quarterly audit.

Click-id expiration windows

Every platform has a different lookback. Match it.

Google Ads accepts gclid-keyed offline conversions for 90 days. Microsoft Ads goes 90 days. Meta accepts hashed-PII and fbc for 7 days click, 1 day view by default (configurable). LinkedIn Conversions API has its own window. Strkr tracks the window per platform and refuses to fire an offline conversion that will be dropped as expired, so the paid team is not debugging silently rejected uploads at the quarterly review.

PII hashing on the server

SHA-256 lowercased trimmed, exactly to spec.

Every ad platform wants SHA-256 of lowercased trimmed email, phone normalized to E.164, first name, last name, city, zip. Strkr does the normalization and hashing server-side before the event leaves the tenant, so no raw PII reaches the ad platform in a format they would reject. The hashing pipeline is auditable per event so the compliance team can confirm the payload shape without reverse-engineering a vendor black box.

Consent flags in payload

LDU, GDPR, CCPA bits set the right way, per record.

Meta accepts a data_processing_options array that enables Limited Data Use for California traffic. Google has consent mode flags. Strkr sets both on the server from the contact's stored consent state so the paid lead does not have to maintain a parallel consent copy inside the ad platform. One consent decision in Strkr propagates to every connected ad account on the next event.

Retries and backoff

Transient failures do not drop the conversion.

Server-side event endpoints fail occasionally. Strkr retries with exponential backoff for up to 24 hours, which is well inside every ad platform's stated acceptance window for offline uploads. Permanent failures (invalid access token, revoked permission) raise an admin alert so the paid lead reconnects the account instead of silently losing a day of conversions.

Audit log on every event

The paid lead can see every conversion the CRM sent.

Every outbound event (CAPI, Enhanced Conversions, LinkedIn, TikTok, offline upload) writes to an auditable event log on the tenant with timestamp, destination, payload hash, response code, and the triggering CRM record. When a conversion looks missing from the ad account, the paid lead opens the log and sees whether the event fired, when, and what the platform said back. No vendor support ticket required.

Close the loop on paid spend.

Connect your ad accounts, fire real revenue signals back to the bidding models, and watch cost per opportunity drop while reported ROAS starts matching the number in finance. Lead Ads ingest, CAPI, offline conversion upload, audience sync, and multi-touch reporting on one record.

Common questions

Ads integration FAQ.

What is a CRM ads integration and why does it matter?

A CRM ads integration is the two-way data layer that connects your CRM to the ad platforms you run paid campaigns on: Google Ads, Meta, LinkedIn, TikTok, and Microsoft Advertising. Inbound, it ingests native Lead Ads submissions and attribution signals (gclid, fbc, UTM parameters). Outbound, it fires server-side events on key CRM milestones (lead qualified, deal created, closed-won) and syncs audiences for suppression and lookalike seeding. It matters because paid media algorithms optimize to whatever signal they receive. Without the integration, they optimize to form fills, which is a weak proxy for revenue. With it, they optimize to actual deals and dollars.

How does the Strkr Google Ads integration handle offline conversion upload?

Strkr captures gclid on every inbound lead automatically and persists it from lead to contact to deal. When a deal moves to closed-won, a Strkr Flow fires an offline conversion to Google Ads keyed on gclid with the real annual contract value in the real currency. Google Ads accepts gclid-keyed conversions for 90 days from click, and Strkr tracks the window per record so expired events are not sent. The same pattern runs for Microsoft Advertising on msclkid. The ad account bidding model (Target ROAS, Maximize Conversion Value) learns from the actual revenue signal instead of the form-fill signal, which typically drops cost per opportunity 20 to 40 percent inside a quarter.

Does the Strkr Facebook ads integration use the Meta Conversions API?

Yes. The Meta integration is a server-side Conversions API connection, not a browser pixel. Strkr sends Lead events on form submission, Purchase events on closed-won, and any mid-funnel event the paid lead wants to configure (qualified, demo booked, trial activated) from Flows. Payloads include hashed email, hashed phone, fbc, fbp, click id, and the event_id Meta uses to deduplicate with the browser pixel if both are running. Lead Ads webhooks ingest Facebook and Instagram native forms into Strkr as leads inside the hour, with the full form payload and campaign attribution attached to the record. The connection is one tenant to many ad accounts, so a multi-brand team manages the whole book from one admin surface.

How does Strkr handle the iOS 14.5 attribution gap?

The iOS 14.5 release and the ongoing third-party cookie deprecation have cut browser-side pixel coverage somewhere between 40 and 60 percent depending on audience mix. Strkr addresses the gap by sending server-side events through the Meta Conversions API, Google Enhanced Conversions, LinkedIn Conversions API, and TikTok Events API, all keyed on hashed PII and the click identifier captured at the point of lead creation. Because the event originates from the CRM server rather than the user's browser, it is not affected by App Tracking Transparency, cookie blocking, or ad blockers. Teams running both the browser pixel and the server-side event typically see 15 to 30 percent lift in reported attributed conversions once deduplication on event_id is configured correctly.

Can Strkr sync audiences to Google Customer Match and Meta Custom Audiences?

Yes. Any saved list view in Strkr can push to Google Customer Match, Meta Custom Audiences, LinkedIn Matched Audiences, and TikTok Custom Audiences on a configurable schedule with incremental membership updates. The common patterns are: suppress all active customers from acquisition campaigns, seed lookalikes off closed-won customers above an ACV threshold, run winback campaigns against churned contacts, and run account-based campaigns against a target account list. Payloads are hashed server-side to each platform's PII hashing spec (SHA-256 lowercased trimmed email, E.164 phone), and the audience refreshes on the schedule the tenant picks so suppression and lookalike seeds are always current.

What ROAS and attribution reporting ships out of the box?

Strkr reports first-touch and last-touch channel attribution out of the box, with linear multi-touch available on the pipeline. Spend from each connected ad platform ingests on a schedule and joins to campaign-tagged leads on utm_campaign, which rolls up to deal revenue by channel. The paid lead sees revenue per channel, cost per channel, blended CAC, channel CAC, payback period, and LTV to CAC in one dashboard built from the live CRM record rather than a static monthly spreadsheet. Because the offline conversion upload sends real revenue values back to each ad platform, the ROAS numbers in Google Ads, Meta, LinkedIn, and TikTok reconcile with the number finance uses on the monthly review, which is the thing most teams have been trying to fix with middleware for years.

Try it free. Bring your team next week.

No sales call, no migration consultant, no four-month implementation. Enter your card, get 14 days of the full Pro tier, cancel any time before day 14 with zero charge. Spin up a workspace, import your CSV, and have something useful before lunch.