# One ad on screen is one row

One row per ad impression from the ATTEX panel, on phones and computers, inside apps like Instagram, TikTok and Facebook as well as on the open web: which ad, where it ran, how long it was on screen, whether it was looked at, and who saw it.

```json example=mobile
{"impression_id": "9f1c2b3a4d5e6f7081928374a5b6c7d8e9f0a1b2c3d4e5f60718293a4b5c6d7e", "panelist_id": "p_0001a2b3", "session_id": 174823910, "package_name": "com.instagram.android", "app_name": "Instagram", "ad_format": "feed", "media": "display", "first_seen": "2026-10-03T09:42:11.412Z", "last_seen": "2026-10-03T09:42:14.778Z", "duration_s": 3.366, "width_dp": 360, "height_dp": 450, "ad_area_pct": 48.6, "size_group": "tall", "eyetracker_enabled": true, "fixation_duration_ms": 412, "is_fixated": true, "demographics": {"age": 34, "gender": "F", "area": "Stockholm", "country_code": "SE"}, "brand": "Oddset", "brand_evidence": {"account_name": ["oddset"]}, "other_brands": [], "industry": "Gambling", "industry_path": "Gambling > Sports Betting", "ad_text": "Allsvenskan avgörs nu\nSpela på Oddset", "creative_url": "https://scontent.cdninstagram.com/v/t51/oddset_v41.jpg"}
```

> A 34-year-old woman in Stockholm scrolled past an Oddset display ad in her Instagram feed. It was on screen for 3.4 seconds, and she *looked* at it for 0.4 of them.

```json example=desktop
{"impression_id": "c41e7a90d2b84f6e9a1c3b5d7e9f0b2d", "panelist_id": "p_00f3c9d1", "session_id": "b2f7c0de-91a4-4e1b-8c3f-5d6e7f809a1b", "hostname": "aftonbladet.se", "ad_technical_format": "display", "first_event_at": "2026-10-03T18:05:12.031Z", "last_event_at": "2026-10-03T18:05:19.874Z", "time_in_screen": 6120, "first_pixel_inview_at": "2026-10-03T18:05:12.540Z", "last_pixel_inview_at": "2026-10-03T18:05:18.660Z", "width": 300, "height": 250, "exist_viewable_1_s_threshold_50": true, "exist_viewable_2_s_threshold_50": true, "is_iab_inview": true, "eyetracker_enabled": true, "total_fixation_duration_ms": 690, "fixation_count": 3, "is_fixated": true, "first_fixation_at": "2026-10-03T18:05:13.102Z", "last_fixation_at": "2026-10-03T18:05:16.410Z", "demographics": {"age": 52, "gender": "M", "area": "Västra Götaland", "country_code": "SE"}}
```

> A 52-year-old man in Västra Götaland had a 300×250 banner on aftonbladet.se in view for 6.1 seconds. It met the IAB viewability standard, and he *looked* at it three times, 0.7 seconds in all.

## Inside the apps

Most ad measurement stops where the open web ends. ATTEX measures inside the apps on the phone, from Instagram and TikTok to Facebook, the same way as on a news site; banking, health and other sensitive apps are blocked from measurement. `app_name` on each row tells you which app it was, and `ad_format` where in the app the ad ran: the feed, a reel, a story, in-stream video.

## Measured, not modelled

Every row is something that happened on a panelist's own device. Time on screen, ad size and gaze are measured per impression. Nothing is projected from a sample, imputed from tags or taken from a survey. Brand and industry are read from the ad itself, and `brand_evidence` shows the exact text each brand came from. The ad's format and whether it was video or display are read from the structure of the screen, and left null rather than guessed.

[How we measure →](/docs/methodology) defines an ad, an impression, duration and fixation, and names the industry guideline each one follows.

## One table

The export is one table: one row per ad on screen, with the context the ad was seen in. ATTEX measures ads, not people. The record is built for questions about ads and the attention they get, and every product reads from this same table.

Panelists are paid to take part and have consented to their data being analysed and licensed. We report on groups of people, never on one person.

Ask us at data@attexdata.ai.
