Compliance with international media standards

Adfox uses industry-standard methods and technologies. According to international standards, the key performance metrics for ad placements are viewable impressions and clicks.

Information about ad viewability is important for both advertisers and publishers: it makes it easier for advertisers to evaluate the effectiveness of their ads on a particular placement, while publishers can identify site areas with low ad viewability and optimize them.

Warning

Adfox tracks ad viewability according to international media standards if the following conditions are met:

  • Your campaign doesn't use external monetization.
  • Campaign settings specify an impression count method: Impression (IMS), Viewable Impression (IMS), or Viewable impression, Yandex (IMS).
  • Banners are created using templates with IMS in their names .
  • For banner ads, ad tags with the context.js library are used.

Counting impressions

Basic principles of counting ad impressions in Adfox:

  • A viewable impression only counts if it matches the specified viewability parameters:
  • The delivery of an ad and impression tracking link is initiated solely by the user. The ad content downloads when the user sends an HTTP request from the browser.
  • Impressions are counted after ads are loaded fully on the browser page.

Auto-refresh

Rules of participation in the Yandex Advertising Network allow auto-refresh no more than once every 30 seconds.

Adfox verifies that sites comply with this requirement by checking for the adf_refresh parameter in the request. We check the site traffic against the auto-refresh criteria once per quarter. If a site abuses auto-refresh, we take administrative action against it.

Prefetch

Ads shown on pre-fetched pages aren't counted. Preventing prefetch on partner sites:

  1. The ad content is called using a link that is called only after processing special JS code.

  2. Configuring and monitoring anti-fraud rules.

Caching control

To prevent caching in headers, requests and responses use special headers: cache-control: no-cache and pragma: no-cache.

A special mechanism is used to prevent caching of the link that is generated on ad click. The link is generated using dynamic parameters: platform ID, banner type, banner ID, and more. For security reasons, all link parameters are hashed.

Counting clicks

The diagram below shows the click counting workflow:

The user clicks an ad banner with a tracking link in the format https://ads.adfox.ru/.../clickURL?[crypted-data]. [crypted-data] contains a segment encoding the banner tracked by the link and the origin site of the click.

The link data is passed to the backend system that counts the banner click and generates a link to redirect the user to the advertiser website. The user is redirected to the advertiser site URL specified in the ad campaign settings.

The click count accuracy is provided by the following:

  • The backend counts clicks before redirecting the user to the advertiser site.

  • A click made outside of the ad banner area is not recorded and not included in the click count.

Duplicate clicks

If there were several clicks during the ad impressions, only one click is counted in the statistics.

Click validation

A common mechanism for historical data handling is used to validate clicks. If more than 24 hours have passed since the last user action, all the technical filter data is deleted from the history.

The mechanism validates clicks in the following way: if more than 24 hours have passed between the ad impression and ad click, the click is considered invalid and isn't counted.

If no impressions that passed anti-fraud are found for the validated clicks, the clicks do not count.

Click statistics

Reports display the number of clicks in the Clicks (IMS) column. This indicator includes filtering invalid traffic (SIVT and GIVT) by special fraud protection mechanisms. You can check the number of invalid clicks in the report on ad campaigns with IMS, in the columns Filtered clicks (IMS), GIVT/SIVT.

Viewability

The following viewability criteria apply to banner ads:

The method of counting impressions

Display Advertising

Large banner ads (> 970 × 250 px)

Viewable impression, Yandex (IMS)

At least 50% of the banner area is in the active browser window for at least two seconds

At least 30% of the banner area is in the active browser window for at least two seconds

Viewable impression (IMS)

At least 50% of the banner area is in the active browser window for at least one second

At least 30% of the banner area is in the active browser window for at least one second

If the active browser window includes less than the specified area of the banner, but the user clicked on it and this click is counted by the system, then the viewable impression is also counted. This rule works for banner ads both on sites and in apps.

Adfox measures ad viewability by the size of the container that hosts the ad. The ad is selected for placement depending on container dimensions. This means that container dimensions and ad size are always identical.

Viewability is checked during ad impression tracking.

After the banner loads on the page, the following events are tracked for statistics:

  • Rendering the banner on the page.
  • Banner viewability.

If the banner is rendered on the page, but no viewability data was saved, the impression is considered non-viewable.

Viewable impressions, non-viewable impressions, and undetermined ad impressions are counted in the statistics after the events are saved and processed by the anti-fraud system.

Viewability criteria and check procedure for banner ads

Viewability of an ad is checked by the following criteria:

  • The browser tab must be active.
  • The ad must stay in the viewport (the part of the web page viewable without scrolling) for at least two seconds under Yandex standards, and at least one second under international media standards. More than 30% of the area for large ad units (242 500 pixels, which is equivalent to 970 × 250 px, or larger) and more than 50% of the area for regular ad units (under 242 500 pixels, which is equivalent to 970 × 250 px) must be inside the viewport.
  • The midpoint must not be overlaid.

The viewability criteria are checked in the following order:

  1. Checking the active tab.
  2. Checking the viewport intersection using IntersectionObserver. If the browser doesn't support IntersectionObserver, the position of the element on the page is calculated, taking into account the chain of parent frames (it works if the viewability measurement code is in a friendly iframe).
  3. Checking the midpoint overlay.

The following viewability criteria apply to video ads:

The method of counting impressions

Video advertising

Viewable impression, Yandex (IMS)

  • At least 50% of the player remains in the user's viewable area for at least two seconds.
  • The minimum player size for the desktop version of the site is 320 × 180 pixels or 180 × 320 pixels. If the player size can't be determined, impressions aren't counted.

Viewable impression (IMS)

At least 50% of the player remains in the user's viewable area for at least two seconds.

If less than 50% of the player is in the user's viewable area, but the user has clicked the video and this click is counted by the system, the viewable impression is also counted.

For correct viewability measurement when serving video ads, a player must support the VAST (Video Ad Serving Template) specification 3.0 or higher. The Yandex Video Ads SDK can be integrated into a partner's player. Yandex Video Ads SDK is a library that's integrated into the partner's player to implement VAST support.

Adfox calculates viewability based on the visibility of the player's slot. The video ad is selected for placement based on the slot size. It means that the slot dimensions and ad size are always identical.

Viewability criteria and check procedure for video ads

Viewability of an ad is checked by the following criteria:

  • The browser tab must be active.
  • At least 50% of the player must remain in the viewport (the part of the web page viewable without scrolling) for at least two seconds.
  • The desktop player must be at least 320 × 180 or 180 × 320 pixels. This criterion is checked only to count viewability according to the Yandex standard.

When the viewability criteria are met, timers are started and stopped. When all the timers trigger simultaneously, it is considered that the check is passed.

Prefetch

Ads shown on pre-fetched pages aren't counted.

Processing of cross-domain iframes

To measure viewability, we use IntersectionObserver (including when cross-domain iframes are used to call ads).

Caching control

To prevent caching, the same methods are used as for impressions.

Tracking the display of multiple ads

Each unique impression can be attributed only to one ad in Adfox.

Viewability metrics

Adfox evaluates ad viewability based on the following indicators:

  • Viewable impression, Yandex (IMS) : Impressions meeting the Yandex viewability criteria: 50% of the banner area (30% for ads with an area of at least 242,500 pixels, which is equivalent to 970 × 250 px) remains in the active browser window for at least two seconds, with invalid traffic filtered out.

  • Impressions (renders): Events that occur when ad rendering starts, with invalid traffic filtered out.

  • Viewable Ad Impression: Ad impressions in the viewable area of the active browser tab, counted using the criteria established by international media industry standards: how many pixels (in percent) remain in the viewable area and for how long they remain there, with invalid traffic filtered out.

    • Banner ads on the site or in the app: 50% of ad pixels must be in the viewable area for at least one second.
    • Large ads (242,500 pixels, which is equivalent to 970 × 250 px, or larger): 30% of the pixels must remain in the viewable area for at least one second.
    • Video ads on the site or in the app: 50% of the video ad pixels must remain in the viewable area for at least two seconds of video playback.
  • Viewable rate (IMS): The percentage of viewable impressions (as defined by international media industry standards), relative to all impressions for which viewability was determined, with invalid traffic filtered out. Calculated in the following way:

    Viewable impressions (IMS)Viewable impressions (IMS)+Non-viewable impressions (IMS) ×100%\frac{\text{Viewable impressions (IMS)}}{\text{Viewable impressions (IMS)} + \text{Non-viewable impressions (IMS)}} × 100\%

  • Measured Rate (IMS): The ratio of impressions with determined viewability to the total number of Impressions (IMS), with invalid traffic filtered out. Calculated in the following way:

    Viewable impressions (IMS)+Non-viewable impressions (IMS)Viewable impressions (IMS)+Non-viewable impressions (IMS)+Impressions with unknown viewability (IMS) ×100%\frac{\text{Viewable impressions (IMS)} + \text{Non-viewable impressions (IMS)}}{\text{Viewable impressions (IMS)} + \text{Non-viewable impressions (IMS)} + \text{Impressions with unknown viewability (IMS)}} × 100\%

  • Non-viewable ad impressions (IMS): Impressions for which ad rendering was recorded, but viewability couldn't be confirmed per international media industry standards, with invalid traffic filtered out.

  • Undetermined ad impressions (IMS): Impressions whose viewability couldn't be determined, with invalid traffic filtered out.

These indicators do not include invalid impressions (SIVT and GIVT) and viewable impressions, filtered out by special fraud protection mechanisms.

Mobile advertising

Processes for delivering content, methods for counting impressions and clicks on mobile devices, as well as procedures and policies for auto-refresh and prefetch, are similar to those used for sites.

In-app advertising

Yandex ads are served in mobile apps using the MobileAds SDK, a library package for integrating the Yandex Advertising Network and Adfox into mobile apps. To learn more about the MobileAds SDK, see the documentation.

In-app ads are subject to the same viewability principles as ads on sites:

  • Viewability is checked according to international media standards: 50% of the banner area must remain in the active window for at least one second.
  • For video ads, a viewable impression counts if at least 50% of the player remains in the user's viewable area for at least two seconds.

For banner, interstitial, and native in-app ads, click viewability is also applied: if there's less than 50% of the banner area in the active browser window, but the user clicked on it and this click is counted by the system, then the viewable impression is also counted.

To confirm ad viewability, the following steps are taken:

  1. Ad is downloaded.

  2. Ad is added to the screen or called from the show method. At this point, a rendering event is sent.

  3. The SDK starts the viewability check. The following factors are checked in turn:

    1. Ad viewability percentage (Visibility Percent).
    2. The interval during which the ad should be in the viewable area (Shownotice Delay).
  4. A timer starts, which checks the Viewability Percentage every 0.2 seconds. The continuous viewing time starts to be counted.

  5. For continuous viewability during the Shownotice Delay, the timer stops, and the SDK sends a request via the viewability confirmation link. Otherwise, the continuous viewing time is reset and starts again. If no confirmation is sent within 60 seconds for poor internet connection, the viewable ad impression is not counted.

The SDK gets information about the properties of the device and platform from the system API that's provided by iOS and Android: the ad ID, the location, if access is allowed in the app and SDK, and the device screen properties.

Restrictions for different OS versions

The OS version is passed with the ad request. Depending on the platform, there are various restrictions:

The minimum supported version is Android 2.3.3. Video ads are only selected for devices with Android 5.0 and higher.

  • To download any type of ad, iOS version 8.0 and higher is required.
  • Video ads are only selected for devices with iOS version 10.0 and higher.

Check the app status

Ad viewability is checked and impressions are counted only if the following conditions are met:

  • The app is active. In other words, the device screen is unlocked.
  • The app isn't running in the background.
  • The ad is served in the active app window.
  • The app is active. In other words, its state is Active, not Inactive or Background.
  • The ad is served in the active app window.

Impressions are also counted if the app is launched on an emulator or simulator and the above conditions are met.

Auto-update, prefetch

There are no external methods for automatically refreshing blocks. The auto-refresh and prefetch procedures and policies are similar to those used for websites.

Fraud protection

To remove invalid traffic (IVT), a log marked by the anti-fraud system is used. The data that passed the anti-fraud check is used for statistics.

Main sources of invalid traffic detection:

  • Monitoring system.
  • Reports from advertisers and site owners.
  • Regular analysis of the IVT generation services market.
  • Searching for patterns.
  • Extension of known IVT types.

Warning

Adfox's anti-fraud filtering helps detect and block suspicious traffic. It monitors all traffic within the system, including ad requests, clicks, and events.

IMS templates have stricter requirements in accordance with international media industry standards. This provides an even higher level of protection against fraud and low-quality traffic.

IMS templates undergo advanced checks in the following areas:

  • Filtering of sophisticated invalid traffic (SIVT), including automated ad requests, fake interactions, and unnatural behavior patterns.

  • Checking the order and completeness of event calls in banners.

Advertising events initiated by Yandex employees from the internal network are not counted in statistics.

Adfox's ad anti-fraud system protects against general and sophisticated IVT. To filter these kinds of invalid traffic, we use the following methods:

General (GIVT — General Invalid Traffic)

  • Technical filtering.
  • Internal traffic filtering. This kind of filtering is done using a common list of IP address ranges (IP ranges of Yandex data centers and IP ranges of the Yandex internal user networks).
  • Filtering of primitive robots. The process involves validating user agents against lists, checking IP addresses, verifying URL signatures, validating user cookies, and examining the referer.

Non-standard (SIVT — Sophisticated Invalid Traffic)

  • Heuristic rules.
  • Machine-learned rules.
  • Machine learning models.
  • Clustering and other methods.

The advertising anti-fraud system actively exchanges statistics with other Yandex anti-fraud systems and reuses this data.

Identification of new IVT types

New IVT types are identified with:
  • Monitoring system tracks traffic deviations.
  • Various traffic and site clustering methods.
  • Analysis of the advertiser reports.
  • Signals from antifraud systems.

IVT detection based on lists or parameters

The system uses the tables that list the ranges of IP addresses generating a large amount of fraudulent traffic. Use the options to:

  • Configure sending events from these addresses to a separate log, events from which are not counted anywhere.
  • Mark events from these addresses with a special flag and send them to the main anti-fraud system that marks them as suspicious.

In addition, the system uses a table of regular expressions to detect fraudulent User Agents. The User Agent must match at least one regular expression from the list of valid ones and not match any of the suspicious ones. With special flags, you can configure sending suspicious events to a separate log, and they won't take part in further processing.

Falsification of viewable impressions

Anti-fraud rules and tools apply to both impressions and viewable impressions.

Filtered impressions, viewable impressions and clicks are removed from all statistics reports. You can view statistics on filtered-out (invalid) impressions, viewable impressions, and clicks in the report on ad campaigns with IMS.

If an advertiser believes that there is unfiltered fraud in his statistics, they can contact Yandex via the feedback form. The request is investigated, and if suspicions are confirmed, filtered impressions, viewable impressions and clicks are removed from all statistics reports.

Contact support

Send an email