Google Ads, Meta Ads, and LinkedIn Ads
Native advertising connections bring daily campaign spend into leadmaps without requiring a recurring CSV export. Google Ads, Meta Ads, and LinkedIn Ads use the same account-selection and sync controls in the Integration Hub.
Unavailable. These connections are not generally available. Production OAuth approval and a provider-side canary are still required for each platform. No live native-advertising canary had been completed as of August 9, 2026. Choose Request this integration in the catalog to register your workspace’s interest. Manual entry and CSV upload remain the available paths.
Native advertising connections require a Pro or Business workspace and use one Integration Hub connection slot per provider. Only a workspace owner or admin can connect, change accounts, pause, reconnect, or disconnect a provider.
What leadmaps imports
Section titled “What leadmaps imports”Each sync reads aggregate campaign-day reporting data from the accounts you selected:
- Ad account identifier, display name, and account currency.
- Campaign identifier and a display label. Google and Meta use the campaign name returned in reporting. The LinkedIn preview currently uses an identifier-based label instead of loading separate campaign metadata.
- Daily spend, impressions, clicks, and provider-reported conversions.
- Google tracking-template UTM values when present. Meta and LinkedIn do not currently supply campaign UTM values through this connection.
Provider-reported conversions are kept as a comparison signal. leadmaps uses the conversion events recorded in your own workspace for attribution and does not treat an ad platform’s conversion count as the source of truth. Advertising platforms can report fractional conversion credit. leadmaps normalizes that provider comparison value to a whole conversion before storing it, so the displayed count can differ slightly from a provider report that shows decimals.
The connection does not import audiences, contact lists, ad creative, payment details, visitor identities, session replay, or individual conversion records. It cannot create or change campaigns, budgets, ads, or audiences.
Permissions by provider
Section titled “Permissions by provider”| Provider | Permission shown during authorization | How leadmaps uses it |
|---|---|---|
| Google Ads | Google Ads access (https://www.googleapis.com/auth/adwords) | List accessible client accounts and read campaign reporting. This includes direct accounts and enabled client accounts beneath a Google manager account that the authorized identity can reach. Google documents one OAuth scope for the Ads API, so its approval screen can sound broader than the operations leadmaps performs. leadmaps uses reporting access and does not send campaign write requests. |
| Meta Ads | ads_read | Discover accessible ad accounts and read their aggregate insights. The connection does not request ads_management or business_management. |
| LinkedIn Ads | r_ads and r_ads_reporting | Read accessible advertising accounts and daily campaign analytics. No advertising write permission is requested. |
Google also requires leadmaps to have a Google Ads developer token approved for
reporting against the accounts used in the rollout. Meta requires Advanced
Access or App Review approval for ads_read. LinkedIn requires access to its
Advertising API product. Until the relevant provider approves those
operator-owned applications, leadmaps keeps setup unavailable.
Connect and choose accounts
Section titled “Connect and choose accounts”When a provider is enabled for your workspace:
- Open Settings, then Integrations.
- Select Google Ads, Meta Ads, or LinkedIn Ads, then choose Connect.
- Sign in to the provider and review its permissions.
- Return to leadmaps and select one or more of the accounts the provider returned. The chooser shows each account’s name and currency.
- Choose Connect selected accounts. leadmaps queues the first spend sync.
The account chooser shows at most 100 accessible client accounts. For Google, this can include direct accounts and enabled client accounts beneath a manager account. Manager accounts themselves are not spend-reporting selections. The chooser never shows access or refresh tokens. The temporary selection expires after 10 minutes and can be completed only by the same workspace member who started it. If it expires, start the connection again.
One workspace can have one active connection for each advertising provider. That connection can include several selected accounts. Choose Change accounts to authorize again and replace the selected-account set. leadmaps does not silently select the first account or add newly accessible accounts.
Sync timing and history
Section titled “Sync timing and history”The first connection queues an import for the current UTC date and the previous six UTC dates. A connected provider then syncs once per day and rereads the same trailing seven-day window. Repeated campaign-day rows replace the earlier copy, so delayed provider adjustments converge without doubling native spend.
Automatic sync does not backfill more than seven days. Use manual entry or CSV upload on the Attribution page for older history. Existing manual and CSV rows are not deleted when you connect a provider. Avoid uploading the same account and date range again after native sync because leadmaps cannot safely prove that a spreadsheet row and a provider row describe the same charge.
Temporary provider failures and rate limits are retried. leadmaps also checks daily that every selected account remains accessible. If authorization expires or an account is removed, the connection changes to Reconnect needed rather than continuing with partial or guessed access.
LinkedIn can return the same empty report when an account had no activity and when reporting access is unavailable. An empty LinkedIn response therefore does not erase the existing seven-day window or advance the successful-sync time. leadmaps retries the inconclusive import. Its account check can identify an expired token or removed account, but LinkedIn does not always let leadmaps distinguish no activity from missing reporting permission. The dashboard keeps the sync inconclusive instead of presenting guessed data as current.
Google normally supports background token refresh after offline access is approved. Meta grants are extended only while Meta still accepts the current authorization. LinkedIn refreshes in the background only when the approved app receives a refresh token. In every case, choose Reconnect when the dashboard asks for new authorization.
Multiple currencies
Section titled “Multiple currencies”Every selected account keeps the currency reported by its provider. leadmaps does not convert EUR, USD, or another currency and does not invent an exchange rate.
When a report contains more than one currency, leadmaps preserves exact totals for each currency. A combined money total, ROAS, or CPA is unavailable when its inputs would mix or mismatch currencies. Compare each currency separately or apply your own documented exchange-rate process outside leadmaps.
Privacy and removal
Section titled “Privacy and removal”OAuth tokens and the selected account list are encrypted for the workspace. Tokens never enter the browser and are never returned by the customer-facing connection API. The browser receives only bounded account identifiers, names, and currency codes for the selection step. Sensitive connection changes are recorded in the workspace audit log without token values.
Choose Pause to stop new scheduled work without removing authorization. Choose Disconnect to stop pending work immediately, remove the active encrypted credential from leadmaps, and release the connection slot. Imported spend history remains available until you remove those campaign-day rows or delete the workspace.
Disconnecting a native advertising provider erases that workspace’s encrypted credential from leadmaps. It does not revoke the provider-wide authorization at Google, Meta, or LinkedIn because one authorization can be shared with another leadmaps workspace. To end access at the provider too, remove the leadmaps application from that provider’s authorized-app or business- integration settings. Check other leadmaps workspaces that use the same provider identity before removing it.
Current limitations
Section titled “Current limitations”- The connectors stay unavailable outside explicitly enabled preview workspaces until provider approval and live canary evidence are complete.
- A maximum of 100 accessible client accounts are shown per connection. Google can include enabled client accounts beneath reachable manager accounts. An account is omitted if the provider does not return a valid three-letter currency code.
- Automatic history is limited to a trailing seven-day window.
- Native sync reads aggregate campaign reporting only. It does not manage ads, sync audiences, import creative, or copy individual people into leadmaps.
- LinkedIn campaign labels are identifier based in the current preview. Google tracking-template UTM extraction still requires provider-side canary verification.
- There is no automatic currency conversion.
- Fractional provider conversion credit is normalized to a whole comparison count. It is not used for leadmaps attribution.
- Disconnecting a provider does not delete previously imported spend.