Reconciling Server-Side Conversions: A Weekly AI Routine
A 20-minute Monday routine for reconciling server-side conversions: five questions for your AI assistant, thresholds that trigger a look, what to log and who to tell.
Reconciling server-side conversions weekly takes about 20 minutes on a Monday: ask your AI assistant the same five questions about the last completed week through Curve MCP, check the week before last against what Curve sent and what each platform credited, then log one line and tell the owner. Curve, which signs a BAA on every plan, answers the Monday questions from completed ISO weeks, rounded, with small groups withheld: each campaign's platform-reported spend, clicks and impressions next to the conversions Curve's server-side tracking recorded, cost per conversion by week, and funnel counts. One link from the answer opens the full sent, accepted and matched view inside Curve.
The routine at a glance
An ISO week runs Monday to Sunday, and the connector only answers for completed weeks, so Monday is the first day last week exists for it. The catch: your own tracking recorded last week's conversions as they happened, while the ad platforms are still processing what they received.
Google's standard columns add a second delay: "Google Ads reports conversions on the ad impression date," so a conversion made this week can land in an earlier week's total. So the routine looks at two weeks:
- Read last week in your own numbers: volume, campaigns, funnel, anything withheld.
- Reconcile the week before last against the platforms, once their figures have had time to settle.
The 20 minutes break down like this:
- Minutes 0 to 2. Confirm the window: the response states the exact dates it covers.
- Minutes 2 to 12. Questions one to four, on last week and the three weeks before it.
- Minutes 12 to 16. Question five on the week before last, then the link into Curve's full sent, accepted and matched view for the same week, as absolute numbers per platform.
- Minutes 16 to 20. Write the log line and send any notes.
Before the first Monday you need Curve MCP connected in the AI client your team already uses: Claude (desktop, web or Claude Code), ChatGPT, Cursor or any other MCP-capable client or agent; a saved Google Ads report with the Conversions (by conv. time) column and a saved Meta report, so each Monday pull takes a minute; a shared log; and one page of thresholds and owners. If the three reconciliation counts (sent, accepted, credited) are new to you, read server-side campaign reconciliation in Claude first.
This is the Monday cadence around your AI assistant; the sent-versus-credited mechanics are in comparing what your tracking sent with what each platform credited.
The five questions
Ask them in the same words every week, so the answers stay comparable.
1. Completeness and volume
Ask: "For the last 4 completed weeks, give me visitors, sessions and each goal's people count, week by week. State the dates. Show withheld values as withheld, never as zero."
Investigate when visitors or your primary goal fall more than 30 percent below the average of the prior three weeks with no known cause (a holiday, a paused campaign, a budget cut), or a goal reported in each of the last three weeks comes back withheld. Check tracking before campaigns: a dropped script, an unapproved domain or a consent banner change looks exactly like a bad week.
2. Spend and conversions by campaign
Ask: "For last week and the 4-week window, list every campaign with its platform, spend, clicks, impressions, conversions and cost per conversion, ranked by spend. Flag campaigns where spend held but conversions fell."
A good answer labels spend as platform-reported and conversions as your server-side last-touch count of people. That is not the cost per conversion Google or Meta shows, and the answer should say so.
Investigate when a campaign that carries real budget shows cost per conversion more than 50 percent above its 4-week figure, or spends for two weeks running with no released conversions after weeks of reporting them.
3. Funnel movement
Ask: "For each funnel, show people at each step for each of the last 4 weeks and the step-to-step rate. Which step changed most last week?"
Investigate when one step-to-step rate drops by more than a third against the prior three weeks while the step above it held. That points at the page or tool at that step: a form, a booking widget, a click-out to an intake tool.
A funnel dropping at every step at once is traffic or a site-wide tracking break; if platform clicks hold while visitors collapse, it is tracking.
4. Withheld and hidden rows
Ask: "List every withheld row count and every row labeled '(label hidden)'. Which campaigns spent money but have no released cost per conversion? What rounding does this connector apply?"
Withheld is neither zero nor proof of activity. It covers any count from zero up to the minimum group size, and a larger count is also withheld when subtracting it from a neighboring number would expose a small group. A goal that goes withheld after weeks of being reported may mean tracking stopped, so check the dashboard before calling it a slow week.
Hidden means nobody approved that name yet; the numbers under it are real. The rounding answer tells you which small changes to ignore. The reasoning behind all three is in how small-group rules work.
Investigate when a hidden label sits on a campaign with spend (get it approved, or renamed if the connector will not accept the name; question five cannot match it until then), or a campaign with meaningful spend stays withheld even on the 13-week window. That campaign cannot be judged weekly from aggregates; review it monthly inside the dashboard.
5. Platform agreement on the settled week
Ask: "Give me our conversions per campaign for the week before last. Here are Google's and Meta's campaign totals for the same dates. Show both counts side by side, labeled, and compare each campaign's gap with its gap over the previous four weeks."
Curve's full view shows what was sent, accepted and matched. To set that beside each platform's own reporting, pull campaign totals the same way every week:
- Google Ads. Use the "Conversions (by conv. time)" column, which Google suggests for matching other reporting tools. If your team already runs Google's read-only MCP server, a campaign query selecting
segments.weekandmetrics.conversions_by_conversion_datereturns the equivalent figure. - Meta. Take campaign totals for the same dates and write down the attribution setting you read them under. Meta's Insights API can date conversions by conversion rather than impression with
action_report_time=conversion. From Ads Manager, note which reporting time it used, or treat the Meta comparison as directional. - Time zones. Google says reports segmented by time "generate results according to your account time zone." If yours differs from your reporting time zone, note the offset once.
Platform numbers get none of the connector's small-group protection, so bring campaign-level weekly totals only, and compare 4-week totals for any campaign in single digits.
Investigate when a campaign's platform count, as a share of yours, moves more than a quarter away from its usual level for two settled weeks running. If a platform's count falls to near zero while yours holds, act the same day. In Curve's sent, accepted and matched view, sent falling while your goals hold is a delivery break: same day.
Read sent every Monday, not only when something trips: a platform can keep crediting view-through or old-tag conversions while nothing is sent, hiding the break for months. Your count and the platform's will never match, for reasons covered in why Meta and Google disagree; you are watching the gap move, not closing it.
Rules for reading the thresholds
The percentages above are starting values, not benchmarks. Five rules apply:
- Tracking and delivery breaks are same-day. A goal, funnel step or sent count collapsing is never "wait and see."
- Everything else needs two weeks. One bad week is an observation. Two in a row is a pattern worth an hour.
- Ignore moves that rounding can explain. On small counts, one rounding step looks like a big percentage swing.
- Small accounts read four weeks, not one. A campaign is only released for a week when enough people converted in that week. If most campaign rows for last week come back withheld, run questions two and five on the 4-week window and judge campaigns monthly, not weekly.
- Retune quarterly. Run questions one to three on the 13-week window and reset each trigger to your real week-to-week variation.
How Curve keeps the Monday answers comparable
- Fixed windows. Last week, or the last 4, 13 or 52 weeks, each ending at the last completed week in your reporting time zone. No custom ranges, so nobody drifts into "last 7 days" on a Tuesday.
- Reconciliation built in. Each campaign's platform-reported spend, clicks and impressions sit next to your server-side conversions, and one link opens the full sent, accepted and matched view in Curve.
- Totals plus a weekly series. One call returns the window and each week inside it. Week rows will not sum to the window, because a person who converted in two weeks counts once in the total. Tell the assistant, or it may try to "fix" the numbers.
- People, not visits. Counts are distinct people across the window. Counts and spend are rounded, and cost per conversion comes from the rounded figures.
- Approved names only. A goal, funnel or campaign name the organization has not approved reads "(label hidden)."
- Guarded and logged. The tools are read-only. A final check blocks any answer containing something shaped like an email, phone number, ID, date or name, and blocks it too if the check cannot run. Every call is logged, and no data is returned if the log cannot be written.
Revenue, ROAS and channel, device, region or page breakdowns are not part of the answers, and figures can trail the dashboard by up to a week. The AI vendor on the other end is your choice, outside Curve's BAA, which is why the connector releases only numbers built not to describe anyone.
When a threshold trips
Work the causes in the order they break, cheapest check first:
- Tracking. Check event volume on the dashboard overview before anything else.
- Delivery. Go back to the settled week's sent figures. Sent near zero while your goals show conversions is a broken pipe. Filter Event Logs by platform and delivery status to see each attempt and the platform's response: an expired click ID, a removed conversion action, an API error.
- Attribution. Only when tracking and delivery are clean do you look at windows, view-through credit and modeled conversions. Those are settings to understand, not pipes to fix. The full diagnostic is in finding the gap between sent and accepted conversions.
For breakdowns the connector will not give (channel, device, page), ask the assistant for a link into Curve Analyst; it needs a login, works once and carries no data.
What to log
One line per week, in a sheet marketing and compliance can both read:
- Run date, who ran it, the week read and the week reconciled (for example 2026-W38 and 2026-W37).
- Visitors, primary goal, and the top campaigns' spend and conversions, copied exactly as released, including "withheld" and "(label hidden)."
- Sent, accepted and matched per platform for the settled week, from Curve's full view (Meta's sent figure is platform level only, because its uploads carry no campaign identifier).
- Each platform's figure, the column or attribution setting it came from, and when you pulled it, since platform numbers move. Where a platform's weekly count for a campaign is in single digits, log its 4-week total instead, for the same reason you never fill a withheld cell.
- Which thresholds tripped, the action, the owner and a due date, plus whether last week's open items closed.
Never fill a withheld cell from the dashboard: the log travels further, and that small number is exactly what withholding protects. Nothing from a person-level follow-up goes in either: no names, no journeys, no screenshots, no "the patient who called Tuesday."
Who to tell
- Tracking break: the website owner, same day, and the paid media lead, so nobody reads the drop as campaign performance.
- Delivery break: whoever owns the ad platform connection and conversion actions, often your agency, plus Curve support.
- Efficiency trip: the budget owner, in the Monday note, with a recommendation rather than an alarm.
- Hidden label: the clinic's primary user, who approves names. If the name describes a patient group ("existing IVF patients"), rename it, have the primary user approve the new name, and tell compliance.
- A blocked answer, or anything that looks like a person in any output: the privacy or compliance officer, same day. Do not rephrase the question to get around it.
- Leadership: three sentences. What happened last week, whether the platforms agree about the week before, and what is being fixed.
Frequently asked questions
Why reconcile the week before last instead of last week?
Because the platforms are still processing it. Even on Google's conversion-time column, uploads and platform processing surface late, so last week's figure is unfinished on Monday. The week before last has had seven more days, and even it can move slightly, which is why you log when you pulled each figure.
Why do the thresholds use percentages rather than fixed counts?
A fixed count means different things at different spend levels, and released counts are rounded. Percentages against each campaign's own history scale with the account, and the two-week rule filters out one rounded swing.
Should we change bids when a threshold trips?
Not while a tracking or delivery break is open. Google's API reference says that with conversion-based bidding, "your bid strategies will optimize for these conversions," so a starved pipe teaches the bidder the wrong lesson. An efficiency trip with clean tracking and delivery is a real signal worth acting on.
What if the assistant's answer comes back blocked?
The connector blocks the whole answer when its final check finds something shaped like an identifier, or when the check cannot run. No data leaves, but log it, tell your compliance officer and leave the question alone until they have looked.
Does this routine replace the dashboard?
No. It is the fast, repeatable first look in whichever AI client you use, and its reconciliation answers link straight into the full sent, accepted and matched view in Curve. Event Logs, breakdowns and anything person-level stay in the dashboard, and Curve Analyst is the way to ask about them there.
Where to start
- Write the one-pager. Your thresholds, who owns each, and where the log lives. Agree it with whoever owns compliance.
- Set baselines. Run questions one to three once on the 13-week window and note what normal looks like.
- Run it for four Mondays before changing any threshold.
- See the routine run. Book a demo of Curve MCP and bring Google and Meta campaign totals for a settled week, so question five runs on your own numbers.
Reviewed September 2026. Google and Meta reporting details checked against their help centers and API references on September 24, 2026.
Related articles
- GuideThe Med Spa Monday Report: Five Questions to Ask
- GuideThe FTC Just Named the Conversions API in a Health Privacy Complaint: Server-Side Is Not a Defense
- GuideIs Google Ads Conversion Tracking HIPAA Compliant? Client-Side Risks and Server-Side Solutions
- GuideMeta Conversions API for Healthcare: Server-Side Implementation Architecture
Stay Compliant. Scale Confidently.
Join healthcare innovators who trust Curve for HIPAA-compliant ad tracking.Launch in hours, not months. Your growth stack, now HIPAA-safe.
Book a free tracking audit