---
title: "Release 145"
description: "UI in 15 languages with RTL, AI-powered traffic-quality reports, incognito and connection-type targeting, price rules at campaign and advertiser level, no-click capping."
type: "reference"
audience: [network-manager, admin]
keywords: [release 145, release notes, languages, RTL, incognito, connection type, no-click capping, fraud analyzer]
---

Fetch the complete documentation index at: https://epom.com/ad-server/docs/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Release 145

**Released:** March — April 2026. A big feature release: the whole UI becomes
multi-language, targeting gains new dimensions and two new entity levels, and the platform
gets faster.

## New features

### Multi-language UI — 15 languages, including RTL

The account and admin UI is now available in 15 languages: English, Arabic, Bengali,
Chinese, French, German, Hebrew, Hindi, Indonesian, Japanese, Korean, Portuguese,
Ukrainian, Urdu and Spanish — with full right-to-left layout for Arabic, Hebrew and Urdu.
Your language is set in [user preferences](https://epom.com/ad-server/docs/guides/collaboration/preferences.md); network
administrators can set a white-label default and control whether users may switch languages.

### AI-powered traffic quality reports

A new admin-triggered traffic quality analyzer aggregates impression, click and conversion
patterns per network daily and produces a structured, AI-written fraud-risk summary. Admins
can also force a scan on demand. The feature is off by default; Epom switches it on for a
network. See [Moderation and traffic quality](https://epom.com/ad-server/docs/guides/admin/moderation-and-quality.md).

### Incognito mode detection and targeting

Ad requests now detect whether the browser is in incognito/private mode. You can target or
exclude incognito traffic (a new [targeting dimension](https://epom.com/ad-server/docs/reference/targeting-dimensions.md)
with its own permissions), use the `$$INCOGNITO_MODE$$` [macro](https://epom.com/ad-server/docs/reference/macros.md), and
frequency capping automatically switches to server-side storage for incognito users, since
cookies don't persist there (see the [capping matrix](https://epom.com/ad-server/docs/reference/capping-matrix.md)). The
signal is also passed to DSPs in bid requests.

### Connection type targeting

Target by network connection type — Wi-Fi, cellular, ethernet and more — on both the
supply and demand side, matching the OpenRTB connection-type signal. Analytics reports can
group and filter by connection type. See
[targeting dimensions](https://epom.com/ad-server/docs/reference/targeting-dimensions.md).

### Price adjustment rules at campaign and advertiser level

[Price adjustment rules](https://epom.com/ad-server/docs/guides/delivery/price-adjustment-rules.md), previously
banner-only, can now be defined on campaigns and advertisers too. Rules cascade —
advertiser, then campaign, then banner — with the banner rule taking highest priority.
Rules can also now be **edited in place** (previously delete + re-create), and placement
price rules gain a fixed-CPM action alongside the existing multiplier.

### Targeting on advertisers, pretargeting on zones

Targeting rules can be set at two additional levels: **advertiser** (applies to all its
campaigns and banners — see [add targeting](https://epom.com/ad-server/docs/guides/targeting/add-targeting.md)) and
**zone** (supply-side [pretargeting](https://epom.com/ad-server/docs/guides/targeting/pretargeting-blocking.md)). The
full six-level hierarchy — site, zone, placement, advertiser, campaign, banner — is
evaluated from broadest to narrowest scope.

### No-click frequency capping

A new campaign-level option stops serving a banner to a user who hasn't clicked after a set
number of impressions — reducing spend on creatives a given user ignores. See
[frequency capping](https://epom.com/ad-server/docs/guides/delivery/frequency-capping.md).

### DSP request enrichment

[DSP partners](https://epom.com/ad-server/docs/guides/admin/dsp-partners.md) can be configured to mark impressions as
interstitial in outgoing bid requests, and bid requests now forward the `X-Requested-With`
header so DSPs can correctly distinguish in-app from web traffic.

## Improvements

- **Country groups in analytics** — custom country groups (introduced in Release 143) can
  be used as a single group-by dimension in reports, so you can see performance per tier
  rather than per individual country. See
  [analytics dimensions](https://epom.com/ad-server/docs/reference/analytics-dimensions.md).
- **Content adapter template for all banner types** — the placement content-adapter
  template, previously native-only, now works with regular banner types too, using the
  `$$AD_CONTENT$$` [macro](https://epom.com/ad-server/docs/reference/macros.md).
- **IAB-standard GDPR macros** — `${GDPR}` and `${GDPR_CONSENT_XXXX}` macro formats are
  supported in click URLs, per the IAB AdServer Macros specification.
- **Publisher-supplied site ID for DSPs** — aggregator publishers can pass a custom
  parameter that overrides the site ID sent to DSPs, exposing per-site identifiers to
  bidders.
- **New fraud signals in impression data** — browser language, raw Accept-Language header
  and client time zone are recorded with impressions for fraud analysis.
- **Telegram deep links** — `tg://` URLs are accepted by URL validation.
- **DSP pricing model naming** — the "CPV" pricing model was renamed to "CPI" (cost per
  impression) to describe what it actually bills on.

## Bug fixes

- **Connection type targeting rules were silently ignored in production** — saved rules
  now reach the serving pipeline, and connection type is available as an analytics
  group-by and filter.
- **Saving an advertiser or a site now always applies validation and permissions** — a save
  that fails either is rejected.
- **Valid Campaign Manager (DoubleClick) click-tracker URLs were rejected** by overly
  strict validation.
- **Search containing an underscore returned nothing** — the underscore was being treated
  as a wildcard.
- **Labels with uppercase letters were missing** from the label filter dropdown.
- **Password recovery emails could omit the site address** when no reset host was
  configured — the white-label host is used as fallback.
- **Banner edit page fired three 404 errors** on every load due to a stale endpoint
  reference.
- **View tracking was always off for programmatic winner banners** due to fields missing
  from an internal copy operation.
- **An unresolved language macro in bid requests** caused some DSPs to reject requests.
- **Unresolved custom-parameter macros** can now be preserved (configurable) instead of
  always being stripped from ad markup.
- Additional fixes: DSP partner QPS values not displaying in the admin grid, editing
  API-created code banners with a size, publisher-role permission error on site placements,
  double template wrapping of native programmatic responses, and a post-release regression
  cleanup (search errors, missing Global country entry, zone tree errors).

## Under the hood

Platform upgrades and performance work, including faster rendering of macro-heavy creatives.

## Related

- [What's new in Epom Ad Server](https://epom.com/ad-server/docs/releases.md)
- [Release 146](https://epom.com/ad-server/docs/releases/release-146.md)
- [Release 144](https://epom.com/ad-server/docs/releases/release-144.md)