Acquisition and ad spend
Updated
Acquisition puts your ad spend next to the purchases and approvals it drove. The goal is a true cost per approved patient, not just cost per click.
1. Import spend
Meta
- Open the Meta page (Integrations → Meta Conversions API).
- Add your Ad account ID (optional, for spend). Use the number without
act_. The saved token needsads_readon that ad account. - Choose Save.
Kalman loads the last 30 days straight away. After that it imports spend every 3 hours and refreshes the last few days each time, so late changes from Meta come through.
Google Ads (when it's available on your account): choosing the Google Ads account loads the last 30 days of spend. Kalman then imports it every three hours.
Until spend arrives, the page shows "No ad spend imported yet".
2. Tag your ads
Kalman ties outcomes to ads by reading campaign, ad set and ad ids from your UTMs.
- Meta: on the Meta page, copy the line under Add tracking tags to your Meta ads. In Ads Manager, open the ad, go to Tracking → URL parameters, paste the line and publish. Meta fills in the ids itself. New ads need the line too.
- Google Ads: paste the Final URL suffix from the Google Ads page into your account's tracking settings.
Kalman credits each purchase or approval to the visitor's last non-direct visit in the previous 30 days.
3. Read the page
Pick a period with the date picker. With vs previous on, each tile is compared with the period before. The tiles are:
- Spend: imported ad spend in the period.
- Cost / purchase: spend divided by purchases.
- Cost / approved patient: spend divided by provider approvals. This is your CAC per approved patient.
- ROAS: purchase and refill revenue, minus refunds, divided by spend.
The tiles count every purchase and approval in the period. The table counts only outcomes Kalman could credit to a specific campaign through the UTMs.
4. Drill down
The table starts at Campaigns. For each row it shows Spend, Clicks, Purchases, Approvals, Cost / purchase, Cost / approved and ROAS.
- Choose a campaign to see its ad sets.
- Choose an ad set to see its ads.
- Use the breadcrumb (Campaigns → campaign → ad set) to go back up.
Google campaigns with no ad-level data, such as Performance Max, show as a single row.
Channels
If you have spend on more than one channel, an All / Meta / Google Ads filter appears. On All, you also get a By channel panel with each channel's spend, purchases, approvals, cost per approved and ROAS.
What Kalman never sends
Spend import only reads from your ad accounts. Nothing about patients goes back to the ad platform through this page.
Related articles
- Connect Meta Conversions APISend Meta hashed, allowlisted conversion events from Kalman: credentials, event mappings, values, pixel dedupe, testing and pausing.
- Overview, Traffic and FunnelWhat the Overview, Traffic and Funnel pages count, how the date range works, and how product LTV is calculated.
- Click IDs, UTMs and intake linksHow Kalman keeps ad click IDs and UTMs, carries them into an intake on another domain with the auto-linker, and tags Meta ads.
- Track funnel events with track and identifyWhen to fire each Kalman event, the fields it accepts, what gets dropped, where to paste the calls and how to check they arrived.
Support
Still stuck? Log in and open a request.
We answer in writing within one business day.
Open a request