What does "N/A" mean as a traffic source, and how do I fix it?

When analyzing traffic sources, you may see visits attributed to N/A rather than to a known source or to Direct Access. This article explains the difference between the two, the causes of N/A traffic, and which causes can be addressed.

N/A vs Direct Access


Direct Access

N/A

Meaning

The visit's first event had no referrer, OR the referrer was the site itself, OR it was local.

The source-attribution algorithm could not classify the visit at all — typically because key event properties were missing or arrived in the wrong order.

What's expected

A normal, named source value

An empty cell or "N/A" / "Undefined" / "Null" placeholder

Common cause

Bookmarks, AI traffic, session timeouts

Missing page.display event, tagging issues, transactions without an associated visit

Direct Access is a legitimate, attributable category. N/A is a data quality signal — something didn't reach Piano Analytics the way it needed to.

What causes N/A on a visit

#1: The page.display event never fired (or fired wrong)

Piano Analytics determines a visit's source from the first event of the visit — almost always the first page.display. If that event is missing, fired late, or doesn't carry the expected source properties, the visit has nothing to attribute.

Investigation: in Data Query, look for visits that have transaction or conversion events but no page.display for the visit. These visits are the most common N/A producers.

Fix: ensure the Piano Analytics SDK fires page.display on every entry page, and that it fires before any conversion or transaction event in the same visit.

#2: The visit was created by a non-page.display first event

If the first event of a visit is something other than a page.display (for example, a server-side event from an external integration, a custom event fired before the page-tracking SDK has initialized), the visit has no source context. Result: N/A.

Fix: order events so a page.display is always the first event of any visit. For server-to-server flows, see the Collection API guidance on previous_url to preserve attribution context.

#3: Transactions without an associated visit

A transaction event that arrives without a parent visit (typical for server-side payment-confirmation flows that don't forward the visitor's browser context) cannot be attributed to a source. It appears in transaction reports with N/A source.

Fix: forward idclient / previous_url from the browser session to the server-side flow so the transaction joins back to its originating visit.

#4: Subscriptions / conversions without source data

Some conversion records originate outside the browser entirely (telemarketing sales, migrated subscribers, bulk imports). These have no source by definition, and N/A is the honest answer.

Fix: there's no fix on the data side — these are legitimately source-less conversions. Filter them out of source-attribution analyses if their volume distorts the picture.

#5: Tagging gaps on specific pages or templates

If certain entry pages don't carry the Piano Analytics tag, visits arriving on those pages produce N/A. The pattern shows up as N/A concentrated on specific landing-page URLs.

Fix: audit tagging coverage. Use Tag Inspector to confirm the SDK fires on every page in your site.

#6: Custom processing rules that strip source properties

If you have Data Management processing rules that overwrite src_medium or src_campaign to empty under some conditions, those conditions become N/A in reports.

Fix: review your processing rules for the src_ properties. Look for rules that set values to empty rather than leaving them untouched.