Paid marketing · USE CASE

Find Microsoft Ads campaigns whose calls aren’t becoming leads.

Put Microsoft Ads spend next to the calls CallRail tracked for each campaign. See which campaigns bring calls your team marks as not a lead, which calls nobody has reviewed yet and which spend has no tracked calls at all.

Data sources
Assistant
Destination
Try it with your data Free with up to 3 data sources · No credit card
A WORKED EXAMPLE

Which campaigns bring calls that aren’t leads?

Campaign groupCampaignsSpend
Calls mostly not leads1$2,480
Calls not reviewed yet1$1,150
No matched calls1$890

Microsoft Ads and CallRail · Oct 17–Nov 13, 2026 (UTC days) · Both read Nov 14, 12:00 UTC

Microsoft Ads spent $8,190 across five campaigns from Oct 17 to Nov 13. Water Heater Repair spent $2,480 and brought 34 first-time calls, but the team marked only 7 as good leads: $354 per good lead, against $82 for Emergency Plumbing. Drain Cleaning can’t be judged yet because 13 of its 22 first-time calls are unreviewed, and Bathroom Remodel spent $890 with no calls matched to it.

WHERE THE RESULT GOES

Google Sheets

Export each data source report to Google Sheets, then add your analysis or checklist to the review Sheet.

Example use case

Ask. Follow up.
Take the next step.

✦ AI assistantSample use case
Microsoft AdsCallRail
YOU

  1. 01
    $2,480 spend · 640 clicks · 29 Microsoft Ads conversions · 7 good leadsReview first

    Next

  2. 02
    $1,150 spend · 410 clicks · 6 good leads so farReview the calls first

    Next

  3. 03
    $890 spend · 150 clicks · 7 calls carry “bath-remodel-fall”Fix the campaign value

    Next

Microsoft Ads and CallRail · Oct 17–Nov 13, 2026 (UTC days) · Both read Nov 14, 12:00 UTC

01 · CONNECT YOUR DATA

Your tools. One place to ask.

2 of 3 Free data sources
No credit card · Daily refresh

DatapipeYour project
Your AI assistantor a report in Sheets / Data Studio
  1. Create your free workspace

    Sign up with your company email. Your first project opens on Data sources.

  2. Add the data sources

    Choose the accounts for this use case. Authorize access and select the property or site.

  3. Bring your question

    Connect your project to a supported AI assistant, or build your source reports.

Create a free account →
Setup steps & what you need

Email/password signups confirm their email first. Use Google signup with a company account if you prefer.

  • Microsoft Ads: Sign in to Microsoft Advertising and choose the ad account whose campaigns you want to review. Setup guide ↗
  • CallRail: Paste an agency-owned CallRail API key, then enter the account ID and company ID that hold the tracked calls. Setup guide ↗

Free includes 3 data sources across the workspace. One account/property added to one project counts as one. Extra properties or the same account in another project use another slot.

02 · ASK A USEFUL QUESTION

Start with a prompt.
Follow the evidence.

Copy these in order into your connected assistant.
Each builds on the answer before it.

01

Read campaign spend and the tracked calls

Read the full prompt
Use only this Datapipe project’s authorized data. Discover the connected accounts, datasets and compatible fields first. Confirm dates, timezones, currencies and data coverage. Keep missing or unmatched rows visible; never substitute sample data. Compare the sources explicitly and explain every match. Do not change source records or send messages.

From the connected Microsoft Ads account, read the campaign performance report for the last 28 complete days. Return date, campaign ID, campaign name, campaign status, network, impressions, clicks, spend, conversions and currency, and tell me the exact first and last day. Add the rows up to one line per campaign. From the connected CallRail company, read Company call attribution for the last 29 days and drop calls from today, so both sources cover the same UTC days. Return Call ID, Call started at, Answered, Duration (seconds), First call, Lead status, Marketing source, Marketing medium, Campaign and Paid search keywords. List every source and medium pair with its call count, and ask me which pairs mean Microsoft paid search before going further.
02

Match the calls to each campaign

Read the full prompt
Keep the calls whose source and medium I confirmed. Match each call’s Campaign value to a Microsoft Ads campaign name after trimming spaces, lowering case and decoding plus signs and URL encoding. Show me every campaign value that matches no campaign, with its call count and lead statuses, and every campaign with spend but no matched calls. Do not guess a match by similar wording; list those as questions for me. For each matched campaign count first-time calls marked good lead, marked not a lead and not reviewed, plus repeat calls separately. For not-a-lead calls, also count how many were unanswered and how many answered calls lasted under 60 seconds.
03

Prepare the campaign call review

Read the full prompt
Prepare one table with a row per campaign: spend, clicks, Microsoft Ads conversions, first-time calls, good leads, not a lead, not reviewed and repeat calls. Show spend per good lead only when at least two thirds of first-time calls have a lead status; otherwise write “review calls first”. Add a short note for each campaign that needs attention, using only what the data shows, and list unmatched campaign values at the end. Keep the currency from Microsoft Ads. Draft it in this conversation for our paid search review. Do not change budgets, keywords or call records.

03 · USE WHAT YOU FIND

Match calls to campaigns and agree what changes.

  1. 01

    Read campaign spend and clicks from Microsoft Ads.

  2. 02

    Read the calls CallRail tracked in the same days.

  3. 03

    Match calls to campaigns and agree what changes.

Check the result at your next review.

Run the same review four weeks after the changes. For Water Heater Repair, compare the share of first-time calls marked good lead with this period’s 7 of 34, and check that parts and jobs keywords no longer appear. Drain Cleaning should have most of its calls reviewed, and Bathroom Remodel’s new calls should match the campaign by name.

Implementation tips for this use case

Match the CallRail campaign value to the Microsoft Ads campaign name after trimming spaces and lowering case. Keep campaign values that match nothing on their own list. For each campaign count first-time calls, good leads, not a lead and not reviewed, then divide spend by good leads only where most calls are reviewed. Leave repeat callers out of the count. Take the table to the paid search review, where the account manager and the person who answers the phone agree on keyword, schedule or tracking changes before anyone touches the budget.

WHEN YOU NEED MORE CONTEXT

Go a little deeper.

The method and reporting checks
behind this example.

How to find Microsoft Ads campaigns whose CallRail calls aren’t becoming leads
  1. Read campaign spend and clicks from Microsoft Ads.

    Add your Microsoft Ads account and your CallRail company to one project. Read the campaign performance report for complete days: date, campaign ID, campaign name, campaign status, network, impressions, clicks, spend, conversions and currency. Microsoft’s daily rows are UTC days, and Datapipe’s read ends yesterday, so today is never half counted. Add the rows up by campaign, because each campaign has one row per day and network. Conversions follow your account’s conversion goals and say nothing about lead quality.

  2. Read the calls CallRail tracked in the same days.

    Read Company call attribution with Call ID, Call started at, Answered, Duration (seconds), First call, Lead status, Marketing source, Marketing medium, Campaign and Paid search keywords. Datapipe reads CallRail in UTC and the window ends today, so read one extra day and drop today’s calls to match the Microsoft dates. Keep only calls whose source and medium mean Microsoft paid search, and list the values you found. Lead status is what your team marked, and it can be empty. Source and campaign describe the caller’s first visit, so a returning caller keeps the campaign that first brought them.

  3. Match calls to campaigns and agree what changes.

    Match the CallRail campaign value to the Microsoft Ads campaign name after trimming spaces and lowering case. Keep campaign values that match nothing on their own list. For each campaign count first-time calls, good leads, not a lead and not reviewed, then divide spend by good leads only where most calls are reviewed. Leave repeat callers out of the count. Take the table to the paid search review, where the account manager and the person who answers the phone agree on keyword, schedule or tracking changes before anyone touches the budget.

See the complete example report
EXAMPLE REPORT

Which campaigns bring calls that aren’t leads?

Microsoft Ads and CallRail · Oct 17–Nov 13, 2026 (UTC days) · Both read Nov 14, 12:00 UTC

Which campaigns bring calls that aren’t leads?
Campaign groupCampaignsSpend
Calls mostly not leads1$2,480
Calls not reviewed yet1$1,150
No matched calls1$890
WHAT TO LOOK ATMicrosoft Ads spent $8,190 across five campaigns from Oct 17 to Nov 13. Water Heater Repair spent $2,480 and brought 34 first-time calls, but the team marked only 7 as good leads: $354 per good lead, against $82 for Emergency Plumbing. Drain Cleaning can’t be judged yet because 13 of its 22 first-time calls are unreviewed, and Bathroom Remodel spent $890 with no calls matched to it.

Match calls to campaigns and agree what changes.

Microsoft Ads reports 29 conversions for this campaign, which looks healthy. CallRail shows 34 first-time calls with this campaign value: 7 marked good lead, 21 not a lead and 6 not reviewed. Of the 21, 8 were never answered and 11 were answered but lasted under a minute. CallRail’s paid keyword is parts or installer jobs on 10 of them. Only 9 of the 22 first-time calls have a lead status, 6 good and 3 not a lead. An unreviewed call is not a bad call. Using the 6 good leads alone would show $192 per good lead and could cut a campaign that is doing fine. No CallRail call carries a campaign value that matches Bathroom Remodel. Seven Bing Paid calls carry “bath-remodel-fall”, which matches no Microsoft Ads campaign name; 3 of them are good leads. The ad’s URL probably still uses an older campaign tag.

Try the example with sample CSVs

Fictional rows matching the example above. Attach these files to your assistant for a sample analysis.

Data method, reporting checks & sources

Add your Microsoft Ads account and your CallRail company to one project. Read the campaign performance report for complete days: date, campaign ID, campaign name, campaign status, network, impressions, clicks, spend, conversions and currency. Microsoft’s daily rows are UTC days, and Datapipe’s read ends yesterday, so today is never half counted. Add the rows up by campaign, because each campaign has one row per day and network. Conversions follow your account’s conversion goals and say nothing about lead quality. Read Company call attribution with Call ID, Call started at, Answered, Duration (seconds), First call, Lead status, Marketing source, Marketing medium, Campaign and Paid search keywords. Datapipe reads CallRail in UTC and the window ends today, so read one extra day and drop today’s calls to match the Microsoft dates. Keep only calls whose source and medium mean Microsoft paid search, and list the values you found. Lead status is what your team marked, and it can be empty. Source and campaign describe the caller’s first visit, so a returning caller keeps the campaign that first brought them. Match the CallRail campaign value to the Microsoft Ads campaign name after trimming spaces and lowering case. Keep campaign values that match nothing on their own list. For each campaign count first-time calls, good leads, not a lead and not reviewed, then divide spend by good leads only where most calls are reviewed. Leave repeat callers out of the count. Take the table to the paid search review, where the account manager and the person who answers the phone agree on keyword, schedule or tracking changes before anyone touches the budget.

Microsoft Ads rows are added up by campaign before matching, because each campaign has one row per day and network. Both sources cover the same UTC days: Microsoft’s read ends yesterday, and today’s CallRail calls are dropped. Unreviewed calls are counted separately and never treated as bad leads. Campaign values that match no campaign stay on their own list instead of being guessed into one.

  • Microsoft Ads rows are added up by campaign before matching, because each campaign has one row per day and network.
  • Both sources cover the same UTC days: Microsoft’s read ends yesterday, and today’s CallRail calls are dropped.
  • Unreviewed calls are counted separately and never treated as bad leads.
  • Campaign values that match no campaign stay on their own list instead of being guessed into one.
  • Access to the intended Microsoft Ads account or property.
  • Access to the intended CallRail account or property.
  • Microsoft Ads rows are added up by campaign before matching, because each campaign has one row per day and network.

For blended reports, align dates, normalized URLs, and reporting grain. Query-level search rows must not duplicate page-level sessions.

A FEW USEFUL ANSWERS

Before you start.

Why do I need both Microsoft Ads and CallRail?

Microsoft Ads knows what each campaign cost and how many clicks and conversions it counted. CallRail knows which calls came from which campaign and what your team decided about each caller. Cost per good lead needs both.

Why not use Microsoft Ads conversions?

A conversion counts an action, such as a call or a form, whether or not the person was a real customer. In this example Water Heater Repair reports 29 conversions, while the team marked only 7 calls as good leads.

How are calls matched to campaigns?

By name. CallRail records the campaign value from the ad’s landing page URL, such as a utm_campaign tag. When that value equals the Microsoft Ads campaign name after ignoring case and extra spaces, the call belongs to that campaign. Anything else is listed for you to confirm.

What happens to calls nobody marked?

They are counted as not reviewed. Cost per good lead is only shown when most first-time calls for a campaign have a lead status, so a campaign is not judged on an incomplete review.

Why are repeat callers left out?

CallRail marks whether a call is the caller’s first call to your company. Repeat calls are often existing customers, and CallRail keeps their original campaign, so counting them would credit the wrong campaign with new leads.

Does this change my campaigns or call records?

No. The assistant reads both sources and drafts the review in your conversation. Your team changes keywords and budgets in Microsoft Advertising and marks calls in CallRail.

YOUR NEXT STEP

Try it with your own data.

Start free with up to 3 data sources. No credit card.

Start free →