$20.5M Series A led by Theory Ventures. Read more →

changelog

What's new

The latest updates and improvements to Koah.

Conversion Reporting in the Advertiser Dashboard

You can now see conversions and CVR in the advertiser dashboard, for one advertiser or across all of them.

  • Pick a conversion event - Choose an event above the table to see conversions and CVR for each campaign, ad group, and ad

  • Sort by results - Sort your tables by conversions and CVR to find what is working

  • Pixel vs. Conversions API - See in Events Manager how many events came from the Koah Pixel and how many from the Conversions API

Head to the advertiser dashboard to see your conversions.

Manage Ads from the Koah CLI with API Keys

You can now manage your campaigns, ad groups, and ads from the Koah CLI, now open to advertisers with API keys.

  • Sign in with an API key - Create a key on the API keys page in your dashboard settings to sign in to the CLI

  • Every ad format - Non-admin users can create every ad format

Headings on Text-Card Ads

You can now add a heading to your text-card ads so your ad leads with a clear headline.

  • Up to 70 characters - Set a heading in the dashboard, the API, or CSV import, or from the CLI with --heading

  • On all eligible web text cards - Headings now show wherever text cards run on the web

Publisher Reporting by Request Context and Environment

Publishers can now filter dashboard reporting by request context, so static placements and in-conversation ads show up separately. You can combine this with the slot filter.

The metrics API now also returns environment, so you can split results the same way in your own reporting.

See the reporting API docs.

Activity Page and Campaign Change History

You can track every change to your campaigns, ad groups, and ads on the new Activity page, and set up and tidy campaigns with less guesswork.

  • Activity page - See recent changes to your campaigns, ad groups, and ads in one place, newest first, from Activity in the sidebar

  • Campaign and ad group history - Open Change history from any campaign or ad group to see what changed, when, and who made the change

  • Formats by objective - See which ad formats each campaign objective includes before you choose one

  • Change objective before traffic - Switch a campaign's objective until it starts receiving traffic; ads the new objective can't serve are archived after you confirm

  • Hide inactive - Show only active campaigns, ad groups, and ads in your tables

iOS SDK 1.1

You can update to iOS SDK 1.1 for faster, more reliable ad cards with no code changes.

  • Image caching - Ad images are cached in memory and on disk for 24 hours, so repeat cards load faster

  • More resilient cards - An image that fails to load no longer breaks the whole card

  • Consistent compact cards - Compact layouts render more evenly across devices

  • Server-controlled presentation - Koah can test and refine ad experiences without an app update

  • Drop-in upgrade - No API changes, iOS 13 and later

Daily Budget Pacing for CPM Campaigns

You can spread a CPM ad group's daily budget evenly across the day with daily budget pacing, now on for every advertiser.

  • Even delivery - Spend follows a steady target through the day instead of running out early

  • Relevance first - When spend gets ahead of pace, only the most relevant placements serve until it catches up

  • No setup - Applies automatically to daily-budget ad groups in CPM campaigns

  • Hard cap stays - Your daily budget is still a firm limit

Editable Ad Group Rates

You can change an ad group's CPM or CPC rate from your dashboard at any time, even after it starts serving.

  • Edit live ad groups - Update the rate on an ad group that already has traffic instead of duplicating it

  • CPC rates you set - CPC campaigns now have an editable rate field

  • Same guardrails - Your account's minimum CPM still applies

React Native SDK 1.0.1

You can upgrade to React Native SDK 1.0.1 to fix impression and event tracking on Expo SDK 54 and later.

  • Expo SDK 54 support - Impressions and events record correctly on Expo SDK 54+

  • Steadier client ID - The SDK keeps one client ID per app session, even if device storage fails

  • No API changes - Update with npm install --save-exact koah-react-native@1.0.1

Messaging App Ads Pilot

An iMessage thread where an AI agent answers a trip-planning question and a clearly labeled Expedia ad card appears inline

You can now monetize AI assistants in messaging apps with a pilot ad format native to the thread.

  • Link-preview ads - Ads render as rich image and video link previews inside the conversation, starting with iMessage

  • Developer controls - Set the dimensions and placement so ads fit your product

  • Contextual matching - Ads match the conversation at the moment of inference, without cookies or third-party profiles

  • Curated advertisers - Only a curated set of high-quality advertisers appear in the thread

  • Limited pilot - Open to a small set of partners for now while we refine the format together

Read the launch post.

Ads for Coding Agents

A sponsored HubSpot ad card in a coding-agent terminal, with a keyboard shortcut to explore and a prompt to ask a follow-up

You can now monetize your coding agent with ads built for the moments while it works.

  • Built for agent downtime - Show ads while an agent generates code, runs tests, or works through its next step

  • Native to the command line - Ads are designed for the terminal, not adapted from display formats

  • Keyboard controls - Developers respond to an ad without leaving the terminal

  • Contextual matching - Ads match the task at hand at the moment of inference, without cookies or third-party profiles

  • Server-side ad requests - Request ads from your backend with a serving API key, no client SDK required

Read the launch post.

Security Portal

You can review how Koah protects your data on our new public security portal.

  • One place for security information - Find Koah's security and compliance details at security.koahlabs.com

  • Footer access - Open the portal anytime from the Security link in the Koah website footer

  • Vulnerability reporting - Report security issues to security@koahlabs.com, listed in a standard security.txt file

Visit the security portal.

Koah SDK 1.0

Two code windows showing the Koah script tag in index.html and a requestAd call with conversation context in main.js

You can build on a stable, semantically versioned Koah SDK 1.0 across iOS, Android, Flutter, and React Native.

  • Viewability-based impressions - Count an impression only once an ad is actually visible on screen

  • Unified ad requests - Describe your surface, such as chat, article, or feed, and handle filled, no-fill, and error outcomes explicitly

  • Flexible sizing - Set exact, ranged, fill, or automatic width and height independently

  • Accurate event timing - Events record when a view or click happened, not when it reached Koah

  • Predictable upgrades - Semantic versioning from 1.0 onward, so minor and patch releases won't break your integration

Moving from 0.x is a breaking upgrade, so follow the migration guide for your platform.

Read the launch post.

Conversions API Docs and API Reference

Koah presents Conversion API, set over an illustration of a white house with a red roof in an orange field beneath a blue sky and distant mountains

You can now set up server-side conversion tracking on your own with new Conversions API documentation.

  • Manual installation guide - Follow step-by-step instructions to send conversion events from your server

  • API reference - Look up endpoints, request fields, and responses on a new reference page

  • Self-serve setup - Get server-side measurement running without waiting on the Koah team

Start with the Conversions API guide.

21+ Audience Targeting

You can keep age-restricted campaigns focused with 21+ audience targeting built into campaign setup.

  • 21+ audience option - Add an age restriction while configuring an ad group

  • Age-aware delivery - Exclude people known to be under 21 while keeping people with unknown ages eligible

  • Publisher-provided signals - Use self-reported age data passed through supported Koah SDKs

Public System Status

You can check Koah's availability at a glance on a public system status page.

  • Live status - See whether Koah systems are operating normally before you start troubleshooting

  • Recent availability - Review daily system health in a simple calendar view

  • Easy access - Open the status page directly from the Koah website footer

Multi-Advertiser Conversion Tracking

You can now track conversions for multiple advertisers with one Koah Pixel installation on the same website.

  • Multiple advertiser IDs - Configure one pixel with every advertiser that needs conversion attribution

  • Shared website coverage - Track the same visitor journey without maintaining separate pixel integrations

  • Updated setup guidance - Follow the Koah Pixel documentation to add and verify each advertiser ID

A Safer, More Reliable Dashboard

You can open and share dashboard pages more reliably with a dedicated app domain and safer resource links.

  • Dedicated dashboard domain - Use app.koahlabs.com without dashboard requests being mistaken for ad-serving traffic

  • Ad blocker resilience - Reach the dashboard more consistently in browsers with blocking extensions

  • Opaque resource links - Open campaigns, ad groups, and ads through external IDs that do not expose sequential record counts

Slot-Level Reporting API

You can focus publisher reports on the placements you need with slot filters in the reporting API.

  • Slot filtering - Request metrics for one or more named ad slots instead of exporting every placement

  • Flexible query parameters - Pass slot names as an array or a comma-separated list

  • Targeted CSV exports - Generate reports from the same filtered metrics used by the reporting endpoint

See the Koah docs for API guidance.

Faster Campaign Management

You can manage campaigns with fewer detours through a set of faster controls and more complete reporting.

  • Bulk ad group actions - Turn ad groups on or off, duplicate them, or archive them from one selection toolbar

  • Account-wide sorting - Sort campaigns, ad groups, and ads across the full account instead of only the current page

  • Inline daily budgets - Update an ad group's daily budget directly from the table

  • Ad links in exports - See each destination URL in advertiser CSV reports

Faster Ad Responses

You can keep AI experiences moving with sub-second ad responses after a major upgrade to Koah's ad copy serving.

  • Sub-second response time - Receive a complete ad response in under one second

  • Dedicated model serving - Generate ad copy on Koah-hosted infrastructure for more predictable performance

  • More responsive placements - Show sponsored content without slowing down the conversation around it

Multiple Advertisers Per Team

You can organize multiple advertisers in one team while keeping each advertiser's setup easy to manage.

  • Advertiser creation - Add another advertiser without creating a separate team

  • Advertiser-aware workflows - Create campaigns, ad groups, and ads for the advertiser you currently have selected

  • Focused brand settings - Switch advertisers and update the matching brand profile without losing context

Conversions API V1

You can send conversion events directly from your server with the new Koah Conversions API V1.

  • Server-to-server tracking - Record conversion events without depending on browser scripts

  • Consistent event handling - Apply the same parsing and sanitization rules used by the Koah pixel

Audience Insights for Advertisers

You can understand who your campaigns reach with new audience views that turn demographic coverage into clear, explorable reporting.

  • Audience breakdowns - Compare reach across income, age, and gender wherever enough measured data is available

  • People and impressions - Toggle every view between distinct people and request volume without refetching the report

  • Segmented trends - Select an audience group to follow its reach and impression history over time

  • Honest coverage - See measured coverage, unknown audiences, and clear low-data states instead of misleading charts

Head to the advertiser dashboard to explore your audience.

iOS SDK 0.10.0 and Android SDK 0.3.0

You can build more adaptive mobile placements with iOS SDK 0.10.0 and Android SDK 0.3.0, including flexible sizing and clearer request outcomes.

  • Flexible axis sizing - Mix unbounded, ranged, fixed, and fill dimensions so ad cards fit your layout without clipping

  • Explicit request outcomes - Handle filled, no-fill, and error states independently instead of guessing why a request returned

  • More resilient rendering - Benefit from viewport-gated impressions, bounded retries, safer event delivery, and fewer silent rendering failures

  • iOS demographic signals - Pass gender and household income when your users share them to improve audience matching

See the iOS and Android docs for upgrade instructions.

Responsive JavaScript SDK Sizing Guide

You can size one JavaScript ad slot for every screen with new guidance for adapting dimensions to a container or device.

  • Container measurement - Read the rendered slot width and pass it as maxWidth for a layout-aware request

  • Mobile and desktop rules - Set tighter mobile bounds while leaving larger screens unbounded

  • Safer measurements - Avoid zero-height slots, respect the 240 × 72 minimum, and keep resize events from triggering request loops

Read the JavaScript SDK sizing guide.

Safer API Token Management

You can manage API credentials more safely with one-time secret display, bounded lifetimes, and automatic revocation tied to your account.

  • One-time secrets - Copy a new token when you create it without exposing it again in token lists

  • Expiring credentials - See when each token expires and rotate access on a defined schedule

  • Protected storage - New tokens are stored as one-way digests instead of reusable plaintext values

  • Automatic revocation - Password resets and account deactivation now invalidate associated sessions and tokens

Head to your dashboard settings to manage API tokens.

Quicker Dashboard Workflows

You can move through dashboard workspaces faster with clearer switching and ready-made reporting windows.

  • Publisher app switcher - Keep workspace selection separate from app navigation for a clearer path between properties

  • Recognizable workspaces - Spot each workspace by its uploaded logo when you switch

  • Today and yesterday - Jump to focused daily reporting windows without setting custom dates

  • All-time reporting - Review complete performance history from the same shared date control

Manage Ads Without Leaving the Table

You can manage creative work without losing your place with faster controls built directly into the dashboard tables.

  • Inline renaming - Update ad, campaign, and ad group names without opening a separate edit view

  • Hover previews - Check an ad's creative from the list before deciding what to change

  • Flexible image uploads - Add WebP and AVIF assets with clearer warnings when an image needs cropping

  • Selection controls - Keep actions for selected ads close at hand in a floating toolbar

Ad-Level Change History

You can trace important ad updates in a per-ad change history, making it easier to understand how an ad reached its current state.

  • Per-ad timeline - Review updates in the context of the individual ad instead of piecing changes together

  • Core field coverage - Track enabled status, ad name, content or product name, and format name

A Redesigned Dashboard

You can move through Koah faster in a redesigned dashboard with clearer navigation, responsive layouts, and a refreshed visual system.

  • New Koah look - Work in an interface that brings the latest typography, colors, charts, and surfaces across advertiser and publisher views

  • Mobile-ready navigation - Open every dashboard area from a compact drawer built for smaller screens

  • Faster tab switching - Move between dashboard views without the lag that slowed down everyday workflows

  • Focused app shell - Keep navigation close while your main workspace scrolls inside a clean, framed layout

Head to your dashboard to explore the new experience.

Build Every Format in the Dashboard

Rich ad formats now come with native builders in the Ads Manager - no more hand-editing configuration to launch an advanced format.

  • Guided form editors - Purpose-built forms for Catalog, Expandable, and more, with the exact fields each format needs

  • Live previews - See your ad rendered exactly as it will appear in publisher apps while you build it

  • Built-in validation - Image sizes, aspect ratios, and required fields are checked as you go, so ads are right the first time

  • Easy image handling - Upload images during ad creation, or pull them straight from your website and let Koah rehost them

Head to the Ads Manager and create a new ad to try it.

Web SDK Age Signals

You can now pass self-reported age through the Web SDK to improve age-aware ad matching with a signal that stays validated and up to date.

  • Flexible age inputs - Send a precise age, a standard range, or your own minimum and maximum values

  • Built-in validation - Catch invalid ages and ranges before they are saved

  • Persistent attributes - Age signals carry across sessions and visitor-cookie changes without repeated setup

  • Simple clearing - Mark the value as unknown whenever a person removes or withholds their age

SDK Reliability Wave

A quality wave across every SDK brings more accurate metrics and more resilient integrations, with zero code changes required.

  • Viewability-gated impressions - Impressions now count only when the ad is actually visible on screen, for more accurate metrics

  • Timeouts and bounded retries - Network calls no longer hang indefinitely, so your app stays responsive

  • Crash-safety hardening - Across iOS, Android, Flutter, React Native, and Web for more resilient integrations

  • Web SDK response caching - Ad responses are now cached for snappier rendering

Available now on iOS, Android, Flutter, React Native, and Web.

Brand Logos On Your Ads

Advertisers can now upload a brand logo once and have it appear consistently across every ad they run.

  • One-time upload - Set your logo once instead of attaching it to each ad individually

  • Consistent across formats - Your logo shows up the same way everywhere your ads run

  • Fast CDN delivery - Logos are served from a CDN for quick, reliable loading

Head to your dashboard to try it.

Ad Disclaimers

Regulated advertisers can now attach disclosures directly to their ads, with Koah handling consistent rendering across every format.

  • Per-ad disclaimers - Attach a disclaimer to any ad without custom work per placement

  • Consistent rendering - Disclaimers display the same way across every ad format

  • Native mobile bottom sheet - On mobile SDKs, disclaimers open in a native bottom sheet for a cleaner reading experience

Learn more in our docs.

Bulk Upload and Bulk Actions

Ads Manager gets a productivity upgrade, making it faster to manage ads at scale.

  • Bulk upload via CSV - Upload text, image, and poll ads in one pass, with format selection built in

  • Bulk duplicate and archive - Apply actions to many ads at once instead of one at a time

  • Campaign and ad-group metrics - Performance numbers now roll up at the campaign and ad-group level, not just per ad

  • Resizable columns - Resize table columns to fit your workflow, and they'll stay that way across visits

Head to your dashboard to try it.

Catalog Ads

Introducing Catalog - a new ad format built for advertisers with a lineup of products rather than a single offer.

  • Multiple products, one ad - Showcase several products together in a single ad unit

  • Individually clickable - Each product in the catalog links out on its own

  • Size variants - The format adapts to fit the slot it's served into

Learn more in our docs.

Agent-Ready Docs

Koah's docs are now built for AI agents, so your coding assistant can wire up an integration without you reading a single page.

  • SKILL.md agent skill - Point a coding agent at it to implement the Ad SDK or the conversion pixel in one shot

  • llms.txt sitemap - An agent-friendly index of our docs for faster, more accurate lookups

  • Copy a prompt - One-click prompts for Claude or Codex right on integration pages

Explore SKILL.md and llms.txt.

iOS SDK 0.9.0 and Android SDK 0.1.0: Dimensions API

iOS SDK 0.9.0 and Android SDK 0.1.0 replace t-shirt sizing with a precise Dimensions API, so your ad slot always gets the best-fitting variant.

  • Exact bounds - Describe your slot's width and height instead of picking from small, medium, or large

  • Best-fit matching - Koah selects the ad variant that fits your dimensions, not the closest preset

  • Available on iOS and Android - Ships in iOS SDK 0.9.0 and Android SDK 0.1.0

See the iOS and Android SDK docs for upgrade instructions.

Multi-Property Metrics and Impression Rate

Publishers running multiple properties get clearer visibility into performance, across one property or all of them at once.

  • Property switcher - Jump between individual properties with a dropdown right in your dashboard

  • View all - See an aggregate view of metrics across every property you run

  • Impression rate - A new metric alongside fill rate, showing what share of queries with ads actually resulted in an impression

Head to your dashboard to try it.

Polls and Ad Reporting on Mobile

Interactive ads and user controls are now available across the mobile SDKs, bringing native apps up to parity with web.

  • Poll ads - Let users vote directly in the ad unit, with a call-to-action button revealed after they respond

  • Report an ad - Users can flag ads they find irrelevant or inappropriate right from the placement

  • iOS and Android coverage - Ships in the native SDKs as well as React Native and Flutter

Learn more in our docs.

Side Rail Ad Format

A new Side Rail ad format gives publishers a way to monetize wider layouts.

  • Persistent side placement - An image-led unit designed to sit alongside chat without disrupting the conversation

  • Wider layout support - Puts inventory to work in space that other formats can't fill

  • Quick to create - Duplicate an image ad in the Ads Manager and switch the format in the dropdown to get started

Faster Dashboards

We overhauled dashboard performance so your reporting feels dramatically faster.

  • Faster reporting queries - Dashboard views load significantly quicker across the board

  • Biggest gains at scale - The largest improvements show up on large accounts and long date ranges

  • No more timeouts - Heavy views that used to time out now load reliably

Size Ads To Your Slot

A new sizing system for Web lets you get the best-fitting ad for any slot.

  • Pass your dimensions - Send your slot's dimensions (maxWidth/maxHeight) in SDK v2, or size small/medium in v1

  • Automatic variant selection - Koah picks the best-fitting variant of each format for your slot

  • Unbounded by default - Skip sizing entirely and the slot stays unbounded, just like before

See sizing the ad to your slot in the docs.

Blocked Terms For Ad Copy

Advertisers can now guarantee certain words never appear in generated ad copy.

  • Blocked term lists - Configure up to 5 terms per advertiser that are guaranteed never to show up in dynamic copy

  • Brand safety control - Keep generated ad copy aligned with what your brand will and won't say

Head to your dashboard to try it.

Audience Targeting

Audience targeting is now available to every advertiser on Koah.

  • Plain-language targeting - Describe the audience you want right in the ad flow

  • Works with context - Audience targeting layers on top of contextual matching, not instead of it

  • Available today - Live on every campaign starting now, no setup required

Report Ads From My Ad Center

End users can now report an ad directly from where they see it.

  • One tap to report - The option lives in the menu in the ad's corner

  • User control - Gives people a clear, simple way to flag ads that don't belong

  • Feeds quality systems - Reports go straight into Koah's quality systems, building trust across publisher apps

Multiple Apps Per Account

Publishers can now manage multiple apps under a single account.

  • Separate keys and metrics - Each app gets its own keys and its own metrics, so performance stays easy to track

  • Unified billing and team management - Billing and team management stay in one place across all of your apps

  • Built for growing teams - A better fit for teams running several AI products at once

Create Polls From The Dashboard

You can now build poll ads yourself, directly in the Ads Manager.

  • Advanced mode support - Write your question and options right in the Ads Manager

  • Live preview - See exactly how your poll will look before you launch it

  • No help needed - Launch a poll ad end to end without waiting on Koah

Head to your dashboard to try it.