Skip to content
WorkflowsTutorial

Automate a weekly marketing report with AI

Automate a weekly marketing report with AI, Zapier, Google Analytics, and Gmail while keeping the final numbers under human review.

RunbookSeptember 13, 20268 min read
Automate a weekly marketing report with AI
FIG. 01 — FEATURED

This sheet contains partner links. A purchase through one earns Runbook a commission at no additional cost to you. How we make money.

You can automate a weekly marketing report in about 45 minutes with Zapier, Google Analytics 4, ChatGPT, and Gmail. Every Monday, the workflow will collect last week's website numbers, turn them into a short business summary, and prepare an email draft. You will still check the figures before anyone receives it. That final pause matters.

What you'll build

Your finished workflow runs once a week and answers four useful questions: How many visits did the website receive? How many people visited? Which channels brought them? How many valuable actions or sales followed?

Google Analytics 4, or GA4, is the system that records activity on your website. Zapier is the automation layer that moves information between apps without manual copying. ChatGPT explains the numbers in ordinary language. Gmail holds the finished report as a draft until you approve it.

This is a management report, not a complete marketing dashboard. It gives you a consistent Monday view and points to the one issue worth investigating. If you need to choose a different automation layer first, use the AI automation tool comparison. If Zapier's task meter is already a concern, check the Zapier pricing breakdown before adding more workflows.

Stack

You need five things:

  1. A Zapier account that can run a multi-step Zap. A Zap is Zapier's name for one automated workflow.
  2. A GA4 property with website data and permission to view its reports.
  3. An OpenAI API account with prepaid billing. An API is the software connection Zapier uses to ask ChatGPT for an answer. Zapier confirms that this billing is separate from a paid ChatGPT subscription.
  4. A Gmail account connected to Zapier.
  5. One named person who checks the draft every Monday.

Do not add advertising accounts yet. Website traffic is enough to prove that the schedule, dates, summary, and approval step work. Extra data sources add more places for totals to disagree.

Steps

1. Write down the reporting rules

Open a blank document and define the report before you open Zapier. Use one timezone, one date range, four measures, and one owner.

Use 7daysAgo as the start date and yesterday as the end date. Google accepts those relative dates and calculates them in the GA4 property's reporting timezone. Ending yesterday avoids a half-finished Monday appearing beside six complete days.

Choose these GA4 measures:

GA4 fieldPlain meaningDecision it supports
sessionsGroups of visits to the websiteDid overall attention rise or fall?
activeUsersPeople who actively used the siteDid reach change?
keyEventsImportant actions you marked in GA4Did visits produce useful behavior?
totalRevenueRevenue recorded by GA4Did tracked online income move?

Use sessionDefaultChannelGroup as the dimension, which means the label that groups visits into sources such as organic search, paid search, or direct traffic. Leave totalRevenue out if online revenue tracking has not been tested. A confident zero is worse than an honest blank.

2. Set the Monday trigger

In Zapier, select Create > Zaps. Click the Trigger step, search for Schedule by Zapier, and choose Every Week as the trigger event. Set Day of the Week to Monday and choose a time after your team starts work, such as 8:00 a.m. Click Test trigger.

Zapier's scheduling instructions say the trigger uses the timezone in your Zapier account and can run a few minutes after the selected time. Open Settings > Profile in Zapier and confirm the account timezone now. The report's date range comes from GA4's timezone, so write both timezones in the Zap's description if they differ.

3. Pull the website report

Click the plus button beneath the trigger. Choose Google Analytics 4 and select Run Report for a Property. Zapier lists this as a supported action in its GA4 connection guide.

Connect the Google account that can view the property. Then complete the action:

  1. Select the correct Property.
  2. Enter 7daysAgo under Start Date.
  3. Enter yesterday under End Date.
  4. Add sessionDefaultChannelGroup under Dimensions.
  5. Add sessions, activeUsers, keyEvents, and, when verified, totalRevenue under Metrics.
  6. Set the row limit high enough to include every channel. For a small business, 25 is usually ample.
  7. Test the action and read every returned row.

Check the result against Reports > Acquisition > Traffic acquisition in GA4 for the same dates. The channel rows should be recognizable even if the interface rounds or formats a figure differently.

Your move

Build the Zap through the GA4 test first, then compare its four totals with the GA4 screen for the same dates. Do not connect ChatGPT until those source numbers agree.

4. Ask ChatGPT for a restrained summary

Add another action. Choose ChatGPT (OpenAI), then Analyze Text. Zapier marks that action as recommended in its current ChatGPT connection documentation.

Paste the prompt from the Copy this section into the instruction field. In the data area beneath it, insert the complete output from the GA4 step using Zapier's field picker. Do not type example numbers into the live prompt.

Set the answer length low enough for an email, around 350 words. Tell the model to state when a comparison is unavailable. This first version only includes one seven-day period, so it cannot truthfully claim that traffic rose or fell. It can rank channels, point out concentration, and name missing tracking.

5. Create a Gmail draft

Add a final action. Choose Gmail, then Create Draft. Zapier documents that action in its Gmail connection guide.

Set To to the report reviewer, not the whole team. Use Weekly marketing report: review required as the subject. In Body, place the ChatGPT response first, followed by a divider and the original GA4 output. The source rows let the reviewer check a suspicious sentence without opening Zapier.

Test the action. Open Gmail, find the draft, compare every number in the summary with the source rows, and correct unclear wording. Only then send it.

6. Turn on the Zap and record the owner

Name the workflow Weekly website report - draft only. Add the reviewer and the two reporting timezones to the description. Publish the Zap, then create a recurring Monday task for the reviewer: open the draft, check the dates, check the totals, and send or reject it.

For the first four runs, keep a simple log with the run date, draft status, and any correction. This catches bad field mapping before the report becomes routine. The broader AI content approval workflow provides a sturdier review record when several people prepare customer-facing material.

The part that breaks

The dates break first. “Last seven days” can include part of today in one tool and seven completed days in another. Keep the range fixed at 7daysAgo through yesterday, then compare the exact dates shown in the draft with GA4.

The second failure is asking the model for a trend without comparison data. One week of numbers cannot prove growth. If the prompt says “explain what increased,” ChatGPT may comply even when no earlier period exists. The prompt below forbids that claim.

Field mapping is the quiet failure. Zapier's test may show several channel rows, but selecting one nested field can pass only the first row to ChatGPT. Put the raw mapped output beneath the draft and check that organic search, paid search, direct, referral, and any other active channels appear. If only one survives, use Zapier's line-item tools to combine the rows before the AI step.

Finally, GA4 only reports what it was configured to collect. If key events or revenue are wrong in GA4, automation repeats the error on schedule. Fix tracking at the source. Do not repair a measurement problem with better prose.

Copy this

Paste this into the ChatGPT Analyze Text instruction field, then map the GA4 report beneath it:

You are preparing a weekly website report for a business owner.

Use only the Google Analytics data supplied below.
Do not invent causes, comparisons, targets, percentages, or missing values.
Do not say a number increased or decreased unless two labeled periods are present.

Return:
1. Reporting period
2. Four bullet points with sessions, active users, key events, and revenue when present
3. The top three channels by sessions
4. One issue to inspect, based only on an unusual concentration or a missing value
5. One sentence stating which conclusion cannot be made from this data

Use plain language. Keep the response under 350 words.

GOOGLE ANALYTICS DATA:
[Map the full output from the GA4 step here]

Upgrade path

After four accurate drafts, add a second GA4 report action for 14daysAgo through 8daysAgo. Label it “previous period,” map both periods into the prompt, and allow ChatGPT to calculate changes only when both figures are present. Recheck the percentage yourself for the first month.

Then add one business result from the software that stores your customers and follow-ups, often called a CRM. Compare website key events with qualified leads or completed sales. That closes the gap between traffic and money, but only if both systems use the same definition and week.

Keep delivery as a draft until the report has run cleanly for at least a month. Automation saves the copying. Your approval protects the decision. For a different wiring approach, compare the choices in Make versus Zapier, then get the next build from /topics/workflows.

Frequently asked questions

Can AI create a weekly marketing report automatically?

Yes. An automation can collect fixed website measures, ask an AI model to explain the changes, and prepare an email draft for a person to check.

Which numbers belong in a weekly marketing report?

Start with sessions, active users, key events, and revenue if online sales are tracked. Break the totals down by channel so the report supports a decision.

Why should the automation create a draft instead of sending the report?

A draft lets someone compare the summary with the source numbers before colleagues act on a claim the AI model misunderstood or invented.

Does a paid ChatGPT plan cover this Zapier workflow?

No. Zapier's ChatGPT connection uses the OpenAI API, which is billed separately from a ChatGPT subscription and requires prepaid API billing.

About Runbook

AI tools and automation builds for marketers. What to use, how to wire it, and the workflow to copy this week. How we work

GET THE NEXT DISPATCH

Run the next build before your competitors read about it.

One short email when an AI tool or automation actually changes the work, with the build to copy.

No send unless there is a build worth running.

// keep_reading

Related builds