How to Automate Google & Meta Ads Monthly Reports

Jul 25, 2026 by Ahmed Ali

TL;DR Learn how to automate Google and Meta Ads monthly reports with normalized metrics, monthly comparisons, AI insights, and Google Slides.

How to Automate Google & Meta Ads Monthly Reports

You can automate Google and Meta Ads monthly reports by locking a data contract, pulling the current and previous periods from both platforms, normalizing the metrics in Google Sheets, generating evidence-linked insights, and populating a branded Google Slides template. The point is not to let AI improvise a client story. It is to remove repetitive report construction while keeping the account, currency, timezone, conversion definitions, and final recommendations under human review. This workflow recipe shows how an 18-slide deck can build its combined, Google Ads, and Meta Ads sections automatically every month.

How the monthly client report builds itself

A reliable automated PPC reporting workflow has five layers:

  1. Google Ads and Meta Ads provide the source metrics.
  2. A reporting contract defines the exact accounts, dates, currencies, outcomes, and attribution rules.
  3. Google Sheets becomes the structured chart-data layer.
  4. AI analyzes only the normalized numbers and calculated changes.
  5. Google Slides receives the KPI cards, tables, charts, and draft narrative.

This separation matters. If AI is asked to pull data, reconcile metrics, calculate deltas, decide what happened, and write the final story in one step, it becomes difficult to see where an error entered the report. A structured workflow makes every layer inspectable.

The live Google and Meta Ads monthly report template already connects those layers. You copy the supplied Sheets and Slides files, select the two ad accounts, choose the reporting period, and run the workflow. The rest of this guide explains the contract that makes that automation trustworthy.

What the 18-slide report covers

The deck uses stable cover, divider, and closing slides around three reporting sections.

All 18 active Google and Meta Ads monthly report slides arranged as one deck architecture
The presentation keeps a stable 18-slide structure while the workflow refreshes the reporting content.

Slides Section Main output
1, 5, 11, 18 Cover, dividers, close Stable presentation structure
2 to 4 Combined performance Executive KPIs, channel comparison, monthly trends
6 to 10 Google Ads Campaigns, networks, keywords, match types, bidding strategies
12 to 17 Meta Ads Campaigns, platforms, placements, demographics, creatives

The architecture is deliberately repeatable. You are not rebuilding a presentation each month. You are updating a known set of reporting slots.

Step 1: define the reporting contract

Do not start with “build my monthly report.” Start with the exact definitions that the workflow must preserve.

Your contract should state:

  • Google Ads customer and Meta Ads account
  • Current reporting period and comparison period
  • Timezone used to decide when a day or month starts and ends
  • Currency for each account and the rule for any currency conversion
  • Google conversion action or goal used as the outcome
  • Meta purchase or result event used as the outcome
  • Attribution setting used for the Meta report
  • Whether the report covers completed calendar months or a month-to-date period
  • How missing values and zero denominators should appear

Use this setup prompt:

Prepare the data contract for my Google and Meta Ads monthly report.

Before running a report, state:
1. Google Ads customer name and ID
2. Meta Ads account name and ID
3. Account currency and timezone for each platform
4. Current reporting dates and comparison dates
5. Exact Google conversion definition
6. Exact Meta purchase or result definition
7. Meta attribution setting
8. Rules for missing values, zero denominators, and currency conversion

Do not pull data until I confirm that contract.
Do not treat unlike conversion events as one total.

This is the most important approval boundary in the workflow. A human must confirm the contract before any combined KPI is accepted.

Step 2: pull both periods from each platform

Pull the current and comparison periods with the same fields and the same account scope. For a completed monthly report, compare one full calendar month with the full calendar month immediately before it. For a month-to-date report, compare equivalent day counts and label that choice clearly.

In Markifact, gads_get_report and meta_ads_get_report are the normal reporting operations. They support dates, comparison settings, metrics, dimensions, filters, sorting, and selected accounts. These are examples, not the limit of Markifact's reporting catalog.

Use Markifact to prepare the source tables for a completed monthly report.

For Google Ads, call gads_get_report for the confirmed customer.
For Meta Ads, call meta_ads_get_report for the confirmed account.

Use the current complete calendar month and the previous complete calendar
month from the approved data contract. Return current values, comparison
values, absolute changes, and percentage changes.

Build only the levels needed by the deck:
- combined channel totals
- campaign
- Google network, keyword, match type, and bidding strategy
- Meta platform, placement, age, gender, and creative

Keep source identifiers and date ranges in the output.
Flag unavailable fields instead of estimating them.
Do not make any advertising changes.

Google Ads reporting supports account-to-keyword performance data and explicit date ranges. Meta's Insights API supports reporting fields and compatible breakdowns. The practical rule is simple: use one explicit period definition for both platforms and retain each platform's source labels until normalization is complete.

Step 3: normalize Google and Meta metrics

Cross-channel reporting fails when similar labels are assumed to mean the same thing.

Report metric Google Ads source Meta Ads source Contract rule
Spend Cost Spend Same currency unit
Impressions Impressions Impressions Can be summed
Clicks Approved click field Approved click field State the click definition
Outcome Conversions Purchases or approved result Same business event only
Outcome value Conversion value Purchase value Same event and currency
Efficiency CPA and ROAS Cost per purchase and ROAS Use approved outcome

Never silently add Google conversions to Meta purchases. First confirm that both represent the same business outcome. If Google counts qualified leads while Meta counts purchases, keep them separate.

Use these calculation rules:

spend = normalized account-currency cost
outcomes = approved Google conversions or approved Meta purchases
cost_per_outcome = spend / outcomes
roas = approved outcome value / spend
ctr = approved clicks / impressions

If a denominator is zero or a metric is unavailable, return N/A. Do not replace missing data with zero. A zero means the platform reported none. Missing means the workflow does not have a valid value.

Step 4: calculate monthly comparisons

Calculate changes before AI sees the data.

absolute_change = current - previous
percentage_change = ((current - previous) / previous) * 100

When the previous value is zero, show the absolute change and N/A for percentage change. A jump from zero to ten purchases is real, but calling it an infinite percentage increase is not useful client reporting.

Executive overview slide with KPI totals, month-on-month deltas, and an AI summary area
Calculate and validate every KPI and delta before the narrative is generated. Template figures are illustrative.

Also separate direction from judgment. Lower spend is not automatically good. Higher cost per purchase is usually undesirable, while higher purchase value may be positive. The model should receive both the metric type and the calculated change, not just a green or red color.

Cross-channel comparison of Google Ads and Meta Ads cost, outcomes, efficiency, and value
Keep each channel visible before creating any combined total. Template figures are illustrative.

Month-on-month Google and Meta cost-versus-purchase charts
Trend charts should use the same month boundaries and approved outcome definition as the KPI cards. Template figures are illustrative.

Step 5: generate grounded AI insights

AI should interpret a prepared table, not repair the source data. Give it current values, comparison values, calculated deltas, definitions, and flags.

Use this prompt:

Write the monthly paid media insights from the supplied normalized tables.

Rules:
- Do not change, recompute, or invent a value.
- Put observed facts, interpretations, and recommendations in separate sections.
- Every observation must name the metric, current value, previous value,
  and calculated change that supports it.
- Describe causality only when the supplied evidence proves it.
- Otherwise use "may", "could", or "needs investigation".
- Mention missing data, attribution differences, and incomplete periods.
- Produce three concise executive bullets and one next-check list.
- Do not recommend a live advertising change without human review.

The output should distinguish:

  • Fact: Meta purchases fell 18% while spend fell 4%.
  • Interpretation: efficiency weakened because cost per purchase increased.
  • Recommendation: inspect the campaign and placement breakdowns before changing budget.

That format makes the narrative auditable.

Step 6: populate the Google reporting sections

The Google Ads section maps prepared reporting tables into campaigns, networks, keywords, match types, and bidding strategies.

Paired Google Ads campaign and network performance slides
The report moves from campaign totals to the network mix that produced them. Template figures are illustrative.

Paired Google keyword and match-type performance slides
Keyword and match-type tables add diagnostic detail without overloading the executive overview. Template figures are illustrative.

Google Ads bidding-strategy performance slide
Bidding-strategy reporting should retain cost, outcome, and efficiency context. Template figures are illustrative.

Do not force a diagnosis from one table. A campaign that lost conversions may need a network, keyword, search-term, bidding, or measurement check. The deck gives the client a concise view, while the underlying Sheets tables preserve the detail needed for follow-up.

Step 7: populate the Meta reporting sections

The Meta Ads section follows the same pattern, moving from campaign performance to platform, placement, demographic, and creative breakdowns.

Paired Meta campaign and platform performance slides
Campaign performance is followed by the platform mix to make channel-level movement easier to explain. Template figures are illustrative.

Paired Meta placement and demographic performance slides
Placement and demographic views help locate delivery changes behind the campaign totals. Template figures are illustrative.

Paired Meta top-creative report slides
Creative reporting combines previews with spend, results, and cost per result. Template figures are illustrative.

For creative reporting, preserve the ad identifier or creative identifier behind every preview. A screenshot without a stable source reference is difficult to audit or reuse in a recommendation.

Step 8: refresh Google Sheets and Google Slides

Google Sheets is the handoff between normalized data and presentation charts. Write values into named ranges or stable table regions, then refresh the linked chart or replace the chart image in Slides.

Google Sheets supports writing multiple ranges in a batch. Google Slides supports batched presentation updates for text, tables, images, and other page elements. That makes it practical to preserve a designed template while updating only the reporting content.

Use stable placeholders such as:

{{report_date_range}}
{{account_name}}
{{total_spend}}
{{spend_delta_pct}}
{{approved_outcomes}}
{{cost_per_outcome}}
{{executive_summary}}

Avoid placeholders based on position alone, such as “the third text box on slide 2.” Object names, IDs, or unique placeholder text survive layout changes more reliably.

The Google Slides MCP is the relevant Markifact integration when you want an AI client or workflow to read and update a presentation. Developers who prefer a terminal workflow can also use the reporting patterns in the Google Ads MCP with Claude Code guide.

Step 9: QA the report before a client sees it

The workflow can generate the deck. It should not distribute it automatically.

Annotated monthly report overview showing the six human QA zones
Verify the reporting period, currency, outcome definition, delta math, totals, and evidence behind the AI summary before distribution.

Use this QA gate:

  • Correct Google and Meta accounts
  • Correct completed dates and comparison dates
  • Account timezone and currency
  • Approved conversion and purchase definitions
  • Meta attribution setting
  • Google money units converted correctly
  • Missing metrics shown as unavailable, not zero
  • Percentage changes guarded against zero denominators
  • KPI totals reconcile with the channel table
  • Chart dates, labels, totals, and sorting match the source table
  • Every AI statement is supported by a visible value or source row
  • Creative previews match their ad or creative identifiers
  • Final recommendations reviewed by the account owner

Only after those checks should a person share the deck, export the PDF, or use it in a client meeting.

Reuse the workflow next month

Once the contract and placeholders are stable, the monthly process is short:

  1. Set the new completed reporting month.
  2. Confirm the comparison period.
  3. Review account, currency, timezone, outcome, and attribution exceptions.
  4. Run the same workflow.
  5. Inspect the QA gate.
  6. Approve the final narrative and distribute the deck.

The design can change without breaking the workflow if the bound placeholders and object identifiers remain intact. Duplicate the Slides template before a major redesign, then test every automated update against the copy.

If you want the working structure instead of building it from scratch, use the Google and Meta Ads consolidated monthly Slides template.

Frequently asked questions

Can Google Ads and Meta Ads metrics be combined directly?

Spend, impressions, and other compatible metrics can be combined when the accounts use the same currency and period rules. Conversions, purchases, clicks, value, CPA, and ROAS require an explicit definition first.

How should Google conversions and Meta purchases be normalized?

Map them only when they represent the same business event. If they do not, keep separate outcome columns and report channel efficiency against each platform's approved event.

Can the report compare this month with last month automatically?

Yes. Pull both periods with the same account scope and field set, calculate absolute and percentage changes, and return N/A when the prior denominator is zero or unavailable.

Should AI write the client recommendations?

AI can draft recommendations from verified numbers, but a human should review commercial context, tracking limits, account history, and the exact action before the recommendation reaches a client or becomes an ad-platform change.

What still needs manual review?

Account selection, dates, timezone, currency, conversion definitions, attribution, missing data, unusual outliers, calculated totals, chart labels, and every causal or strategic claim need human review.

Can the Slides design be customized without breaking the workflow?

Yes. Keep the bound placeholders, named objects, or stable element IDs intact. Test the workflow against a copied deck after changing layouts, fonts, colors, charts, or table structures.

Looking to automate your marketing?

Markifact is a no-code platform that allows you to automate your marketing workflows seamlessly. With Markifact, you can create workflows that connect your favorite marketing tools and automate repetitive tasks, saving you time and effort.

Start Automating your Marketing