Why am I seeing "(not set)" in my GA4 reports?

What "(not set)" means

"(not set)" is a value that comes directly from Google Analytics 4 (GA4), not from NinjaCat. When Google doesn't have a value for a particular dimension in a given row — for example, a traffic source or campaign name that GA4 couldn't determine, or a field Google no longer populates — GA4 returns the literal text "(not set)". NinjaCat reports exactly what the GA4 API sends, so that value passes through to your reports and widgets unchanged.

In short: "(not set)" is Google telling you it has no value for that dimension in those rows. It is not an error in NinjaCat, and NinjaCat is not adding or generating it.

Why it can appear even after a change on Google's side

If Google changes how a field is populated (for example, retiring or changing a source/platform value), GA4 may start returning "(not set)" for rows where it previously returned a value. Because NinjaCat passes the GA4 value through as-is, you'll see that change reflected in your reports. This is expected behavior and reflects the data GA4 is now returning.

How to exclude "(not set)" rows from a report or widget

If you'd prefer not to show "(not set)" rows, you can filter them out using a dimension filter on the widget or report. Add a filter on the relevant GA4 dimension using the does not equal operator and enter the value:

(not set)

Enter it exactly as shown, including the parentheses. GA4 applies this exclusion on Google's side before returning the data, so the "(not set)" rows won't appear in your results.

Things to know about GA4 dimension filters:

  • You can use does not equal or does not contain to exclude values.
  • GA4 allows only one "does not…" (exclusion) filter per request. If you add more than one, the report will return an error.
  • Supported GA4 filter operators include: equals, contains, starts with, ends with, and matches regex (for inclusion), and does not equal / does not contain (for exclusion).

Can I rename "(not set)" to something friendlier (like "Unknown")?

There is currently no built-in way to relabel or rename "(not set)" to a different display value for GA4 data while keeping those rows in the report. Your options are to leave the value as-is (it accurately reflects what GA4 returned) or exclude those rows using the dimension filter described above.


Did this page help you?