StatelessID

Resolution Classes

asset.js reads the browser's screen width and places it in a named class. The board shows how your visits are distributed across classes. Raw pixel dimensions are never recorded.

Why classes instead of pixels

Raw screen width is a reasonably narrow field. The number of distinct screen-width values in common use is small enough that a screen-width value, combined with a few other fields, can narrow the identity space significantly. Named classes coarsen the data so that thousands of different device models fall into the same bucket.

The goal of the screen-size field is to tell you whether most of your traffic comes from narrow phone screens, wider tablet or large-phone screens, or desktop-width screens. That question is answerable with four or five class names. It does not require knowing the exact pixel count.

How classes are defined

Screen widths in pixels map to named classes using fixed thresholds. The thresholds correspond to the breakpoints most commonly used in responsive web design, so that the class distribution in the board aligns with the layout breakpoints your site likely uses. The exact pixel boundaries are defined in the script source and visible on the Features page.

The class is assigned based on screen.width at the time the script runs. screen.width is the physical pixel width of the screen, not the viewport width of the browser window. A phone in portrait mode and the same phone in landscape mode may produce different class values if the width crosses a threshold between the two orientations.

Reading the board

The Screen size section in the dashboard shows each class and the visit count for that class in the selected period. A large share in the smallest class tells you most traffic is coming from narrow screens — phone-sized devices. A shift in that ratio across time periods can reflect a campaign that reached a different device demographic or organic growth in a different audience.

Class names are not device names. "Small" means the screen width was in the lower range. Two completely different phone models with the same physical screen width produce the same class. The class is a width band, not a device identifier.

What the class does not tell you

The class does not tell you the device make or model, the operating system, or the browser. It does not tell you whether the device is a phone, a tablet, or a laptop with a narrow browser window. It is a screen-width band. A desktop browser with its window resized to a narrow width produces the same class as a phone of that width.

The class is also not a viewport width. screen.width is the full screen dimension. If a visitor has their browser window open at half-screen width, the screen.width value is still the full screen. The class represents the screen the device has, not the space the browser window currently occupies.

Troubleshooting

If the Screen size data shows only one class for all or nearly all visits, the traffic may genuinely be dominated by one screen-width range — common on sites that serve a specific audience using specific devices — or the script may be running in an environment like headless testing where screen.width is a fixed default value. Check that real user traffic, not automated test traffic, is reaching your site.

If a particular class shows zero visits but you have reason to believe visitors with that screen size are reaching your site, check that asset.js is loaded on all page templates. If the script tag is missing from a template used for certain pages — a mobile-specific template, an AMP page, or a subset of routes — visits from those pages are not counted at all, not just missing from the class breakdown.

Similar pages