Website traffic report: a template you can send every week

A copyable weekly website traffic report in six parts, where to pull each number in GA4, how to build it once as a saved report, and how to deliver it.

· 8 min read

A weekly website traffic report has six parts: a one-sentence verdict, traffic (sessions, engagement and users), traffic by channel, the landing pages that moved, key events as the outcome, and a short note. Every number is compared with the previous week. In GA4 every number comes from two reports, Traffic acquisition and Landing page, so once the report is set up, filling it in is a short weekly job.

Below: the template to copy, where to find each number in GA4, how to save the setup so next week’s report is faster, and the ways to deliver it.

What a weekly traffic report is for

A weekly report has one job: tell the reader whether last week’s traffic was normal, and if not, where the change came from. It is not a monthly analysis. The deep dive (long trend, segments, Search Console queries) belongs once a month, and we wrote the method in website traffic analysis in GA4. If you are still learning where the reports live, start with how to see your website traffic in Google Analytics.

Keep it short: a reader who gets the same six parts every week notices at once when one of them moves.

The weekly website traffic report template

Copy this into a doc, an email or a Slack message. Square brackets are placeholders. Every change is against the previous week unless you say otherwise.

WEBSITE TRAFFIC REPORT: [site or client], week of [Mon date] to [Sun date]

VERDICT
[One sentence: normal week, or what changed and where.]

TRAFFIC
Sessions            [ ]  ([+/-]% vs previous week)
Engagement rate     [ ]% ([+/-] pts)
Active users        [ ]  ([+/-]%)
New users           [ ]  ([+/-]%)

BY CHANNEL (sessions, change)
Organic Search      [ ]  ([+/-] sessions)
Direct              [ ]  ([+/-])
Paid Search         [ ]  ([+/-])
[Other channel]     [ ]  ([+/-])

LANDING PAGES THAT MOVED
[/page]             [ ] sessions ([+/-]), [one-line reason if known]
[/page]             [ ] sessions ([+/-])

OUTCOME
Key events          [ ]  ([+/-]%)   [name the key event, e.g. form_submit]
Session key event rate [ ]% ([+/-] pts)

NOTE
[Holidays, campaigns, site changes, tracking fixes, or "Nothing unusual."]
[Next step, or "No action needed this week."]

Two rules keep it honest. Channels and pages show the change in sessions, not in percent, because a channel going from 20 to 40 sessions is +100% and means nothing. And the outcome section names the key event, so nobody reads “key events up” when only newsletter signups grew.

How to pull each number in GA4

Line in the reportGA4 reportColumn or setting
Date rangeAny report, date pickerCustom range Monday to Sunday, Compare: Previous period (match day of week)
Sessions, engagement rateAcquisition, Traffic acquisitionTotals row: Sessions, Engagement rate
Active users, new usersEngagement, Landing pageTotals row: Active users, New users
By channelAcquisition, Traffic acquisitionRows of Session default channel group
Landing pages that movedEngagement, Landing pageRows, sorted by sessions
Key events, key event rateAcquisition, Traffic acquisitionKey events, Session key event rate

1. Set the week and the comparison

Open the date picker in the top right of any report, choose a custom range from Monday to Sunday, then switch on Compare and pick Previous period (match day of week), which Google describes as comparing with the previous range “starting the same weekday” (Google’s documentation). Avoid rolling “last 7 days” ranges: they shift every morning, so two pulls on different days disagree.

Pull the numbers on Tuesday if you can. Google says data processing “can take 24-48 hours” and that reports may change in the meantime (Google’s documentation), so a Monday 8am pull can undercount Sunday.

2. Traffic and channels: Traffic acquisition

Go to Reports > Acquisition > Traffic acquisition. Its default dimension is the session default channel group, and its columns include Sessions, Engaged sessions, Engagement rate, Key events and Session key event rate (Google’s documentation). The totals row gives the TRAFFIC lines, the rows give BY CHANNEL.

Engagement rate is the share of sessions that were engaged, and an engaged session is one that lasted longer than 10 seconds, had a key event, or had 2 or more page views (Google’s documentation). Report it next to sessions: when sessions jump and engagement rate falls, the extra visits are usually low intent.

3. Users: Landing page

Traffic acquisition has no user columns by default. Go to Reports > Engagement > Landing page, which lists Active users and New users alongside Sessions and Key events (Google’s documentation), and take the two user numbers from the totals row at the top of the table (not a sum of the rows, since one user can land on several pages). If you are an Editor or Administrator, a cleaner option is to add both metrics to your saved report (see the next section).

4. Landing pages that moved

Stay in the Landing page report with the comparison on. Skip the top rows (they are usually the same pages every week) and scan for the two or three rows with the biggest change in sessions and report those, with a reason when you know it (a new post, a lost ranking, a newsletter link).

5. Outcome: key events

Back in Traffic acquisition, read Key events and Session key event rate from the totals row. Google lets you pick a single key event from the drop-down on the Key events metric to narrow the report to it (Google’s documentation). Do that for the one event that matters (a form, a booking, a purchase), because a total that mixes newsletter signups and quote requests hides more than it shows. Events that GA4 used to mark as conversions are now called key events (Google’s explanation).

Build it once: a saved weekly traffic report in GA4

If you have the Editor or Administrator role, you can turn steps 2 to 5 into one report:

  1. Open Reports, then Library at the bottom of the left menu, then Create new report > Create detail report (Google’s documentation).
  2. Pick a template rather than Blank, such as the one matching Traffic acquisition, so the channel rows and session columns are already there.
  3. In Customize report, add Active users and New users to the metrics, and remove the columns you never report.
  4. Name it “Weekly traffic report” and save.
  5. To make it visible in the left menu, open a published collection in the Library, choose Edit collection, drag the report under a topic and save (Google’s documentation). A collection holds up to 5 topics with up to 10 reports each.

Once it is in the left menu, anyone with access to the property opens the same view next week instead of rebuilding it.

An example, filled in

The numbers below are illustrative, made up to show the format.

Website traffic report, week of 19 to 25 October (illustrative)

Verdict: normal week overall; the drop in direct traffic is the untagged newsletter that did not go out, not a site problem.

Sessions 4,820 (-6%) · Engagement rate 58% (+1 pt) · Active users 3,610 (-5%) · New users 2,700 (-3%)

By channel: Organic Search 2,410 (+60) · Direct 1,050 (-310) · Paid Search 640 (+20) · Referral 380 (-40)

Pages that moved: /pricing 520 sessions (-140, newsletter traffic missing) · /blog/heating-guide 410 (+190, seasonal post picking up)

Outcome: quote requests 38 (-1) · session key event rate 0.79% (+0.04 pts)

Note: newsletter moved to this Tuesday. Link the heating guide to the quote page before the cold weeks.

If you send it to clients

The weekly report is also proof that someone is watching. Keep the same six parts for every client so they learn the format, put the verdict first because it is often the only line read, and move anything longer into the monthly report. Our guide to client reporting covers cadence and format, and why clients skip long reports explains why the short version wins.

The cost is that job multiplied by every client, every Monday.

If the report is for you

Drop the formatting, but keep the habit: same six parts, verdict written down, so the week a channel breaks stands out. For which numbers deserve a weekly look beyond traffic, see the 10 marketing KPIs worth checking every week.

How to deliver it every week

OptionWho receives itFormatWhat it leaves to you
GA4 scheduled emailOnly users with access to the propertyPDF or CSV attachmentVerdict, note, channel and page reading
Download or Sheets exportAnyone you send it toPDF, CSV or Google SheetsEverything after the export
Data Studio scheduled deliveryUp to 50 email addressesPDFBuilding the layout, then the commentary
Written digest in SlackYour channel or each client’s channelText in the channelDepends on the tool
  • GA4 scheduled email: only administrators can schedule it, daily to quarterly, for 1 to 12 months, and recipients must have access to the property (Google’s documentation). The details are in our GA4 scheduled email reports guide.
  • Download or Sheets export: any report can be downloaded as a PDF or CSV or exported to Google Sheets with the Viewer role (Google’s documentation). Useful if you keep a running sheet of weekly numbers.
  • Data Studio (formerly Looker Studio): scheduled delivery emails a PDF to at most 50 addresses, and the paid Pro tier can also post to up to 5 Slack channels (Google’s documentation).

All three give you numbers. The verdict, the reason a channel moved and the note at the bottom still have to be written by someone.

That writing is what we built Dialytics to do, and it is our product, so weigh this accordingly. For each GA4 property you connect, Dialytics posts a short written digest to Slack every Monday at 8am (Paris time): what moved in the past week compared with the week before, citing the metrics that changed, and the one point worth your attention. Like any Monday pull, the latest days can still be processing. Anyone in the channel can mention the bot in the thread to ask a follow-up, such as which pages drove a channel’s drop. Agencies can connect every client’s property in one account, each client with its own channel.

Frequently asked questions

What should a weekly website traffic report include?

Six things: a one-line verdict, traffic (sessions, engagement rate, active and new users), sessions by channel, the landing pages that moved, key events as the outcome, and a short note on anything that explains the change, such as a holiday, a campaign or a tracking fix. Each number sits next to the previous week.

Which day should I send a weekly traffic report?

Tuesday is the safest day if you report the previous Monday to Sunday. Google says GA4 data processing can take 24 to 48 hours, so on Monday morning Sunday may still be incomplete. If you send on Monday, say so in the report and treat a small Sunday dip as unfinished data.

Should a weekly traffic report compare with last week or last year?

Last week first, because it tells you what changed recently and whether anything broke. Add the same week last year only for seasonal sites, and only if the property has a full year of data. Comparing a week with the average of the last four smooths out one-off spikes.

Can I automate a website traffic report in GA4?

Partly. An administrator can schedule most standard and custom reports (not Realtime) as a weekly PDF or CSV email, but only to people who have access to the property, and GA4 sends the numbers without any explanation. The verdict and the note on what changed still need someone to write them every week.

Written by

Founder, Dialytics

Keep reading

Stop building the Monday report

Dialytics reads your GA4, posts the weekly digest in Slack, flags what actually moved, and answers follow-ups in the thread.

Start free trial

No credit card. 14 days free.