TL;DR, Quick Answer
7 min readGA4 annotations are dated notes you add by right-clicking a point on a line graph in Reports. Analysts and above can create, edit and delete them, and Viewers and above can see them. Each has a title of up to 60 characters, a description of up to 150, a single date or a date range, and a color, and a property holds up to 1,000. Once created, an annotation appears on every report and report card with a line graph, and Admin lists all of them for review or export. Use them as a change log for tag, consent, filter and site changes so the next person who sees a spike knows why.
What are Google Analytics annotations?
In GA4, Google Analytics annotations are dated notes that you pin to a report's line graph so everyone on the property can see why a number moved on that day. Google describes them as a way to "add notes directly to Google Analytics 4 reports, making it easier to record events, explain changes in data, or highlight key observations for yourself and your team."
According to Google, annotations "can be used to identify and explain spikes or dips in traffic, marketing campaign launches, product launches, and more." The value is in the timing. A note written on the day a tag changed saves the hour someone would spend three months later trying to work out why sessions fell on that date.
Annotations live on the same line graphs most people open first, so the context sits next to the number it explains.
Who can create and view annotations in GA4?
Users with the Analyst role or above at the property level can create, edit and delete annotations, and users with the Viewer role or above can see them. Google's help page states both rules under "Before you begin."
Annotations can be created in two places: "either in Google Analytics Reports with line graphs or the Admin API." The Admin API route is the one to use when a deploy pipeline or a campaign tool should write the note automatically, so nobody has to remember to do it by hand.
Google can also add its own. "When a significant data-impacting event occurs, Google Analytics may create an annotation to notify users about the issue on the relevant date and data." These system annotations look like user notes, but they "can't be edited or deleted."

How do you add an annotation in GA4?
You add an annotation in GA4 by right-clicking a data point on any line graph in Reports and filling in the annotation details.
- In Google Analytics, click Reports on the left.
- Open the report you want to annotate and right-click any data point on any line graph.
- Click Add annotation.
- Enter a title of up to 60 characters.
- Enter a description of up to 150 characters.
- Pick a single date or a date range.
- Pick a color.
- Click Create annotation.
Google adds one tip about ranges: "If you're anticipating having a high number of annotations with overlapping date ranges, it's recommended to create annotations for a single date instead." A campaign that runs for a month reads better as two single-date notes, one for the launch and one for the end, than as a bar that covers every other note in between.
Where do GA4 annotations appear?
A GA4 annotation appears on every report and report card with a line graph once you create it, not only on the report where you added it. Google states: "When an annotation is created, it'll be visible across all reports and report cards with line graphs."
- Under the graph. An icon appears below the line graph. Hover over it to read the note in a hover card, or click it to open the "Annotations Viewer" panel.
- In Admin. Under Data display, Annotations lists every annotation on the property. "Depending on your access level, you may be able to create, edit, delete, or export these annotations from Admin."
- Hidden. The "Annotations Settings" section at the bottom left of the viewer has a toggle that hides or shows all annotations and the bars for date ranges. The setting applies to all of your annotations at once.
Google's annotation article does not mention explorations. Plan on reading annotations in Reports and in the Admin list, and do not count on them appearing in a free-form or funnel exploration.
What limits apply to GA4 annotations?
GA4 annotations are limited to 1,000 per property, 60 characters per title and 150 characters per description.
| Field or rule | Limit | What it means in practice |
|---|---|---|
| Title | 60 characters | Lead with the change type and the system, such as "TAG: consent banner v3 live" |
| Description | 150 characters | Room for who made the change and the effect you expect |
| Date | Single date or date range | Single dates keep overlapping notes readable |
| Color | One color per annotation | Use one color per change type so the graph reads at a glance |
| Annotations per property | 1,000 | Enough for several notes a week for years; export old ones from Admin before cleaning up |
| Create, edit, delete | Analyst or above | Viewers can read the change log but not change it |
| System annotations | Cannot be edited or deleted | Google's own notes about data-impacting issues stay on the graph |

How do you use annotations as an analytics change log?
You use annotations as an analytics change log by adding one note for every change that can move the data, on the day it ships, with a title that names the type of change. If a change could explain a spike or a drop, it gets an annotation.
| Change type | Example title (60 characters or fewer) | Why it moves the data |
|---|---|---|
| Tag or tracking code | TAG: GA4 tag moved to all checkout pages | New pages start sending events, so views and sessions jump |
| Consent banner | CONSENT: banner reject button added | Fewer accepted visits means fewer measured sessions |
| Filters and settings | FILTER: internal traffic filter active | Office visits leave the reports from that day on |
| Site release | SITE: new pricing page shipped | Engagement and key events on that page change |
| Campaign | CAMPAIGN: spring email to full list | Referral and email traffic rise for a few days |
| Outage | OUTAGE: tag missing 09:00 to 14:00 | A gap appears that is not a real traffic drop |
Three habits keep the log useful:
Flowsery
Start Your 14-Day Free Trial
Real-time dashboard
Goal tracking
Cookie-free tracking
- Write the note the same day. An annotation added a month later rarely lands on the right date.
- Log tracking changes, not only marketing. Tag, consent and filter changes cause the worst confusion, because they change what is measured rather than what happened. The GA4 data gap guide covers the causes of missing traffic that deserve a note.
- Export the log before you hit the cap. Admin can export annotations, so the history survives a cleanup.
A change log also helps when two tools disagree. If GA4 shows a drop that another tool does not, the annotation for a consent or filter change on that date explains the gap faster than any report, which is the pattern in why analytics tools show different numbers. It works the same way for a sudden rise in direct traffic after a tagging change that stripped referrers.
- Someone spots a spike or a dip months later
- They spend an hour working out why sessions moved
- A tag, consent or filter change stays a guess
- The title names the change type, such as TAG or CONSENT
- The icon sits under the line graph, next to the number
- The next person reads the reason instead of hunting for it
How does Flowsery handle the same need?
Flowsery does not have an annotation feature, so the change log for a Flowsery dashboard lives outside the product, in a release log or a shared document. What Flowsery offers instead is speed. Its real-time analytics puts every pageview on the dashboard "the moment it happens," with no 24 to 48 hour processing delay, so a release or a campaign shows its effect while the team still remembers what changed.
Flowsery's dashboard lets you filter by date, source, campaign, page or goal to see which movement deserves attention. Pair that with a dated log of releases and tracking changes, and the next spike comes with its explanation already written down.
Frequently asked questions
Does GA4 have annotations?
Yes. GA4 lets you add annotations by right-clicking a data point on any line graph in Reports and choosing Add annotation. They can also be created through the Admin API.
Who can see annotations in GA4?
Anyone with the Viewer role or above on the property can see annotations. Creating, editing and deleting them requires the Analyst role or above at the property level.
How many annotations can a GA4 property have?
Each GA4 property has a limit of 1,000 annotations. Each annotation has a title of up to 60 characters and a description of up to 150 characters.
Are GA4 annotations visible in every report?
An annotation is visible across all reports and report cards with line graphs, not only the report where you created it. Reports without a line graph do not show the annotation icon, and Admin lists every annotation on the property.
Can I hide annotations in GA4?
Yes. The "Annotations Settings" section at the bottom left of the Annotations Viewer panel has a toggle that hides or shows all annotations and the bars for date ranges. The setting applies to all of your annotations.
What are the annotations GA4 creates on its own?
When a significant data-impacting event occurs, Google Analytics can create an annotation on the affected date to notify users. These system annotations look like user-created ones, but they can't be edited or deleted.
How do I add a GA4 annotation for a date range?
Pick a date range instead of a single date in the annotation form. Google recommends single dates when you expect many annotations with overlapping ranges. A month-long campaign reads better as two single-date notes, one for the launch and one for the end.
Can I export GA4 annotations?
Yes, depending on your access level. In Admin, under Data display, Annotations lists every annotation on the property, and users with the right access level can create, edit, delete or export them there. Export old ones before you clean up, since a property holds up to 1,000.
Can GA4 annotations be created automatically?
Annotations can be created through the Admin API as well as in Reports. That route suits a deploy pipeline or a campaign tool that should write the note on its own, so nobody has to remember to add it by hand.
Does Flowsery have annotations?
No. Flowsery has no annotation feature, so keep the change log for a Flowsery dashboard in a release log or a shared document. Its real-time analytics shows the effect of a release or campaign while the team still remembers what changed.
Was This Article Helpful?
Let us know what you think!
See us more often in Google
One click marks Flowsery as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.
Before you go...
Flowsery
Revenue-first analytics for your website
Track every visitor, source, and conversion in real time. Simple, powerful, and cookie-free.
Real-time dashboard
Goal tracking
Cookie-free tracking
Related Glossary Terms


How to Build GA4 Calculated Metrics Inside a Five-Slot Quota
Google caps GA4 calculated metrics at 5 per standard property. Learn the formula syntax, the units, where they appear and what a formula can't use.


What GA4 Custom Dimensions Do, and the Quotas That Cap Them
Registering GA4 custom dimensions turns your event parameters into report fields. See the three scopes, the 50, 25 and 10 quotas and the cardinality trap.


Why Your GA4 Bounce Rate Is Just Engagement Rate Flipped
Your GA4 bounce rate is the share of sessions that were not engaged. How Google defines it, how it differs from Universal Analytics, and where to add it.


What the GA4 Landing Page Report Counts and Where It Goes Blank
Google's GA4 landing page report lists the first page of every session. Where to find it, its default metrics, why (not set) rows appear and how to add source.


How GA4 Site Search Tracking Records What Visitors Type
Set up GA4 site search with enhanced measurement, add your own query parameters, find the Search term dimension and track searches without a URL.


Setting GA4 User Properties and Reporting on Them
Set GA4 user properties with gtag or Tag Manager, register them as user-scoped custom dimensions and stay inside the 25-property limit.
Related Articles


How to Link Search Console to GA4 and Publish Its Reports
Learn how to link Search Console to GA4 in Admin, which roles you need, how to publish the two reports in Library and what the data can't join.


Setting Up GA4 Content Grouping With One Parameter
Set up GA4 content grouping with the content_group parameter in gtag or Tag Manager, read the Content group dimension and keep (not set) rows out.


How the GA4 User ID Joins Signed-In Visits Across Devices
Sending a GA4 user ID links one signed-in person's sessions across devices. See the gtag setup, the 256-character rule, sign-out handling and the limits.

