# Adaptek Support — public documentation Generated 2026-11-12 from https://support.adaptek.tv 1. [Sign-up, login and profile](https://support.adaptek.tv/docs/adstart/portal/registration?lang=en) 2. [Adaptek — support portal](https://support.adaptek.tv/docs/adaptek?lang=en) 3. [AdStart](https://support.adaptek.tv/docs/adstart?lang=en) 4. [GAM 360 · MCM with Adaptek](https://support.adaptek.tv/docs/mcm?lang=en) 5. [SSAI.TV](https://support.adaptek.tv/docs/ssai?lang=en) 6. [MCM models — Manage Account and Manage Inventory](https://support.adaptek.tv/docs/mcm/models?lang=en) 7. [Creating an ad campaign](https://support.adaptek.tv/docs/adstart/portal/campaigns?lang=en) 8. [How support works](https://support.adaptek.tv/docs/adaptek/support?lang=en) 9. [How SSAI.TV works](https://support.adaptek.tv/docs/ssai/how-it-works?lang=en) 10. [Campaign statuses, publishing and changes](https://support.adaptek.tv/docs/adstart/portal/campaign-lifecycle?lang=en) 11. [Telegram support bot](https://support.adaptek.tv/docs/adaptek/telegram?lang=en) 12. [Exporting materials for AI](https://support.adaptek.tv/docs/adaptek/ai-export?lang=en) 13. [Creatives — requirements, documents and review](https://support.adaptek.tv/docs/adstart/portal/creatives?lang=en) 14. [Glossary](https://support.adaptek.tv/docs/adaptek/glossary?lang=en) 15. [Creating a video from a brief (AI)](https://support.adaptek.tv/docs/adstart/portal/ai-creatives?lang=en) 16. [Reports and analytics](https://support.adaptek.tv/docs/adstart/portal/reports?lang=en) 17. [Billing — invoices, payment, acts](https://support.adaptek.tv/docs/adstart/portal/billing?lang=en) 18. [Accounts, roles and contacts](https://support.adaptek.tv/docs/adstart/portal/accounts?lang=en) 19. [Ad creative requirements](https://support.adaptek.tv/docs/ssai/creatives?lang=en) 20. [AdStart portal — overview](https://support.adaptek.tv/docs/adstart/portal?lang=en) 21. [Self-service for small businesses](https://support.adaptek.tv/docs/adstart/self-service?lang=en) 22. [AdStart — FAQ](https://support.adaptek.tv/docs/adstart/faq?lang=en) 23. [MCM — FAQ](https://support.adaptek.tv/docs/mcm/faq?lang=en) 24. [SSAI.TV — FAQ](https://support.adaptek.tv/docs/ssai/faq?lang=en) --- # Sign-up, login and profile > Source: https://support.adaptek.tv/docs/adstart/portal/registration?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > How to register a company in AdStart, confirm the email, reset the password and set the language and time zone. ## Registering a company 1. Open the sign-up page at adstart.tv. 2. Enter your name, company name, email and password (twice), and pass the "I'm not a robot" check. 3. Click **Create account** — an email with a link will arrive. 4. Follow the link: the email is confirmed, and you can now log in. Sign-up creates: - a **company** with the status "Pending review"; - an administrator **account** for that company — with access to it only. Until the AdStart team approves the company, you can fill in data and save campaign drafts, but not submit them for publishing. > [!NOTE] > One email — one account. If the email is already taken, log in or reset the password. Too many sign-up attempts are temporarily blocked. ## Company statuses | Status | Meaning | |---|---| | Pending review | The company is created; AdStart is checking its details | | Approved | Campaigns can be submitted and invoices received | | Rejected | The check failed — contact support | | Suspended | Work is temporarily stopped | Only the AdStart team can change the status. For the check, fill in the legal details in the company card: registration code (EDRPOU), VAT payer status, legal and postal address, IBAN and bank. ## Login and password - Log in with email and password. A session lasts eight hours; after that you need to log in again. - **Forgot your password?** Choose recovery on the login page: a link to create a new password will arrive by email. - If your company administrator or the AdStart team created the account, you'll get an invitation email with a link to create a password. ## Profile The **Account** page (the user card at the bottom of the menu): - name and phone; the email is changed by an administrator; - **interface language** — Ukrainian, English, Russian; changes immediately for the whole portal; - **time zone** — used for dates in reports, campaigns and schedules; - password change. ## Several companies If you work with several companies, a company switcher appears in the top bar. One person can be, for example, a manager of one advertiser and a viewer of another — without a second account. See [Accounts, roles and contacts](https://support.adaptek.tv/docs/adstart/portal/accounts?lang=en). --- # Adaptek — support portal > Source: https://support.adaptek.tv/docs/adaptek?lang=en · Language: English · Product: Adaptek · Access: public > > Who we are, which products we support and how to get help. Adaptek builds video monetization technology for OTT, CTV, web and mobile apps and helps publishers earn from their inventory through the Google ecosystem. ## Products | Product | What it is | For | |---|---|---| | [SSAI.TV](https://support.adaptek.tv/docs/ssai?lang=en) | Server-side personalized ad insertion (SSAI) in live and VOD based on SCTE-35. Ads become part of the stream, so ad blockers can't see them | OTT platforms, TV channels, FAST | | [AdStart](https://support.adaptek.tv/docs/adstart?lang=en) | Video player with client-side (CSAI) and server-side (SSAI) ads, video analytics and self-service for small businesses | Media portals, channel websites | | [GAM 360 · MCM](https://support.adaptek.tv/docs/mcm?lang=en) | Partnership under the Google Ad Manager 360 Multiple Customer Management program: access to AdX, Open Bidding and PMP without your own contract with Google | Publishers, OTT, CTV, apps | | [Admixer](https://support.adaptek.tv/docs/admixer?lang=en) | A cabinet for direct (non-programmatic) video ad sales: campaigns, profiles, creatives, delivery limits and targeting | TV channels and OTT with direct ad sales | ## How to get help 1. **Search for an answer** in the documentation — the search box is on every page. 2. **Create a ticket** on the portal — this way we see the full history, files and statuses. Details: [How support works](https://support.adaptek.tv/docs/adaptek/support?lang=en). 3. **Connect Telegram** — get notifications and reply to tickets right from the messenger: [Telegram support bot](https://support.adaptek.tv/docs/adaptek/telegram?lang=en). Customers launching with us also get the **Onboarding** section — a launch roadmap with owners and due dates on each side. ## Access to materials - **Public** pages are open to everyone. - 🔒 **Customers** — available after sign-in if your organization works with the product. - 🛡 **Internal** — Adaptek team only. Access is by invitation. If you see 🔒 and believe you should have access, press “Request access” on the page. Any page or a whole section can be exported to PDF or Markdown — for example, to give it to an AI assistant: [Exporting materials for AI](https://support.adaptek.tv/docs/adaptek/ai-export?lang=en). ## Company - **Adap-Tech Solutions OÜ** (Tallinn, Estonia) — the contracting party for Google agreements (GAM 360, Ad Exchange, MCM). - **Adapt Tech LLC** (Kyiv) — the operating office behind the Adaptek brand. - Partner ecosystem: TV channels and OTT providers, integration with Admixer / CoobX, IAB membership, independent measurement by Gemius and BigData Rating. **Contacts:** [support@adaptek.tv](mailto:support@adaptek.tv) · +38 050 331 52 16 · 53 Peremohy Ave, Avenue Business Center, Kyiv · [adaptek.tv](https://adaptek.tv) --- # AdStart > Source: https://support.adaptek.tv/docs/adstart?lang=en · Language: English · Product: AdStart · Access: public > > A modern video player with client-side and server-side ads, video analytics and self-service for small businesses. **AdStart** is a platform for managing video advertising from one place: a lightweight embeddable player that works with your ad server (Google Ad Manager or any VAST) in two modes — client-side (CSAI) and server-side (SSAI via [SSAI.TV](https://support.adaptek.tv/docs/ssai?lang=en)). Demo: [demo-player.adstart.tv](https://demo-player.adstart.tv/) ## What it solves Typical problems of outdated players we see at media companies: - freezes, loops, duplicated ads, no autoplay; - video context isn't passed to the advertiser (and it's the biggest CPM lever); - no Adpod, viewability, header bidding, FAST channels; - inventory is lost: resume-rolls, pause-rolls, overlays, companion banners; - up to a third of ads are “eaten” by ad blockers; - third-party telemetry and uncontrolled monetization channels inside the player. ## Capabilities | | | |---|---| | **Ads** | Pre/mid/post-roll, pause- and resume-rolls, pods, VMAP or CMS media plan, context key-values, PPID | | **Two modes** | CSAI via Google IMA SDK or SSAI — a stitched stream with no client-side ad session | | **Your own ad server** | Any GAM network — only a network code and ad unit in the config | | **Analytics** | A full event dictionary: content, ads, playback quality (QoE) — to your collector or GA4. [Player video analytics](https://support.adaptek.tv/docs/adstart/analytics?lang=en) | | **Privacy** | None of our telemetry in the build; an inline config makes no network requests to our infrastructure | | **Ad-block detector** | A reliable signal + a message to the viewer | | **Any CMS** | The content source is one function; a ready adapter for VideoCMS | ## Self-service for small businesses A separate module — selling ads to SMBs without a manager: [Self-service for small businesses](https://support.adaptek.tv/docs/adstart/self-service?lang=en). A step-by-step guide to the account — [AdStart portal](https://support.adaptek.tv/docs/adstart/portal?lang=en). ## Installation Three roles — portal developer, ad ops, SSAI engineer — and acceptance checklists: [Player installation — overview](https://support.adaptek.tv/docs/adstart/install?lang=en). --- # GAM 360 · MCM with Adaptek > Source: https://support.adaptek.tv/docs/mcm?lang=en · Language: English · Product: GAM 360 · MCM · Access: public > > Publisher monetization via Google Ad Manager 360, Ad Exchange and the Multiple Customer Management program. Adaptek has a direct agreement with **Google Ireland Limited**: Google Ad Manager 360 (Advanced Video), Ad Exchange and participation in the **Multiple Customer Management (MCM)** program. Through MCM a publisher gets access to Google's premium demand without its own Google contract and without a minimum traffic threshold, while Adaptek takes care of implementation, operations and optimization. ## Who it's for - Large portals, broadcaster websites, news brands. - Streaming inventory: BVOD, OTT apps, FAST, live sports. - Apps: telco, news, lifestyle. ## What we solve | Problem | Solution | |---|---| | A fragmented stack: separate direct sales, programmatic, video, apps, reporting | One GAM 360 monetization layer for all formats and countries | | Too few buyers for each impression | AdX, Open Bidding, PMP, direct deals | | Trafficking, policies, reconciliation and yield need scarce expertise | Adaptek runs the operations | | MCM, AdX, site/app review, consent, ads.txt | We guide you through every launch requirement | ## Benefits - **Access to GAM 360 / AdX / Open Bidding** without a direct Google contract or traffic threshold. - **SSAI technology** — ads that can't be blocked, personalized by geo, device and context: [SSAI.TV](https://support.adaptek.tv/docs/ssai?lang=en). - **Transparency and anti-fraud** — independent measurement by Gemius and BigData Rating. - **Regional expertise** — the Balkans, the Adriatic, Central Asia: language, demand, regulation. - **Guided onboarding** — the technical team takes the publisher through every step. - **A direct Google agreement** — official MCM partner status, not a sub-reseller. - **Group demand** — CoobX (formerly Admixer): a Google Marketing Platform Sales Partner since 2016, official Google Ads representative in Serbia, Kazakhstan, Slovenia, Croatia and other countries of the region. ## How to start 1. Choose a partnership model: [MCM models — Manage Account and Manage Inventory](https://support.adaptek.tv/docs/mcm/models?lang=en). 2. Go through onboarding — from inventory assessment to launch in 2–4 weeks: [Publisher onboarding — 8 steps](https://support.adaptek.tv/docs/mcm/onboarding?lang=en). 3. Questions — see the [MCM — FAQ](https://support.adaptek.tv/docs/mcm/faq?lang=en) or [write to us](mailto:support@adaptek.tv). Formats: Advanced Video (VAST), display and native on the web, banner / interstitial / rewarded / app-open in apps, audio, rich media, audience targeting. --- # SSAI.TV > Source: https://support.adaptek.tv/docs/ssai?lang=en · Language: English · Product: SSAI.TV · Access: public > > Cloud service for server-side personalized ad insertion for OTT platforms, TV channels and FAST. **SSAI.TV** is a cloud service for personalized ad insertion for OTT platforms that broadcast TV channels and video on demand. The service modifies the playlist (manifest) for every viewer individually while keeping the stream intact and its quality unchanged. ## Why server-side insertion - **Can't be blocked.** Ads are part of the same stream as the content. Browser ad blockers cut about 30% of client-side ads; SSAI has no such loss. - **The same on every screen.** Smart TVs, set-top boxes, mobile apps, web — with no SDK on each platform. - **TV-grade quality.** Creatives are transcoded to the stream's profiles, loudness is normalized to EBU R 128, no black screens between content and ads. - **Personalization.** Geo, device, frequency, demographics and other parameters by agreement between the parties — what linear TV lacks. - **Independent of the front end.** Integration happens at the stream-delivery level; the player doesn't have to change. ## What it can do | Capability | Page | |---|---| | Live channels with SCTE-35 markers | [SCTE-35 markers on the channel](https://support.adaptek.tv/docs/ssai/integration/scte35?lang=en) | | VOD and FAST channels built from VOD | [How SSAI.TV works](https://support.adaptek.tv/docs/ssai/how-it-works?lang=en) | | Any VAST 3+ ad server, including Google Ad Manager | [Technical requirements for ad servers](https://support.adaptek.tv/docs/ssai/integration/ad-server?lang=en), [Setting up Google Ad Manager for SSAI.TV](https://support.adaptek.tv/docs/ssai/integration/gam?lang=en) | | Creative delivery via the operator's CDN | [CDN — requirements for SSAI](https://support.adaptek.tv/docs/ssai/integration/cdn?lang=en) | | Server-side (S2S) or client-side tracking | [Client Side Tracking](https://support.adaptek.tv/docs/ssai/integration/client-side-tracking?lang=en) | | Overlays and interactive creatives (SIMID) | [Overlays (SSAI Overlay)](https://support.adaptek.tv/docs/ssai/integration/overlay?lang=en), [Interactive creatives (SIMID)](https://support.adaptek.tv/docs/ssai/integration/interactive-simid?lang=en) | | Google programmatic demand via PAL | [Google PAL SDK for SSAI](https://support.adaptek.tv/docs/ssai/integration/pal-sdk?lang=en) | | Playout: Adaptek's own channels in HLS | [Adaptek playout — API and HLS delivery](https://support.adaptek.tv/docs/ssai/playout?lang=en) | ## Where to start 1. Read [How SSAI.TV works](https://support.adaptek.tv/docs/ssai/how-it-works?lang=en) — 5 minutes to understand the roles of the parties. 2. OTT technical team — [integration overview](https://support.adaptek.tv/docs/ssai/integration?lang=en) and [Integration spec for OTT platforms](https://support.adaptek.tv/docs/ssai/integration/ott?lang=en). 3. Channel / playout team — [SCTE-35 markers on the channel](https://support.adaptek.tv/docs/ssai/integration/scte35?lang=en). 4. Ad ops — [Setting up Google Ad Manager for SSAI.TV](https://support.adaptek.tv/docs/ssai/integration/gam?lang=en) and [Ad creative requirements](https://support.adaptek.tv/docs/ssai/creatives?lang=en). The most frequent questions are in the [SSAI.TV — FAQ](https://support.adaptek.tv/docs/ssai/faq?lang=en). --- # MCM models — Manage Account and Manage Inventory > Source: https://support.adaptek.tv/docs/mcm/models?lang=en · Language: English · Product: GAM 360 · MCM · Access: public > > Who manages, where reporting is, which tags, how payouts work — a comparison of the two delegation types. In the MCM program the “parent” partner (Adaptek) manages the account or inventory of a “child” publisher with their consent. This is the official Google Ad Manager mechanism. The key rule most things follow from: **in Manage Inventory the ad request is served by Adaptek's network, in Manage Account — by the publisher's network.** | | **Manage Account** | **Manage Inventory** | |---|---|---| | Who manages | Adaptek — inside the publisher's account | Adaptek — in its own GAM 360 account | | Reporting | In the publisher's account; Adaptek has access | In Adaptek's account, broken down by publisher; the publisher gets reports from Adaptek | | Access | Adaptek sees everything except billing; only **one** parent | The publisher doesn't see Adaptek's setup; up to **15** parents | | Tags | The publisher's own tags | Adaptek's tags with the child network code and SSAI integration | | Publisher's direct deals (DV360 PG/PD) | Yes, in its own GAM | Only on inventory left in the publisher's network | | Payouts | Google pays the publisher directly | Adaptek pays the publisher the agreed share | > [!NOTE] > A publisher can have one Manage Account parent and several Manage Inventory parents at the same time, but one company can't manage the same publisher under both types. We choose the recommended model after a joint legal, inventory, account and technical assessment — not by default. ## When to choose which **Manage Account** — if you already have your own GAM and an ad ops team, want to keep full control and direct settlement with Google, and need optimization, yield and support from Adaptek. **Manage Inventory** — if you don't have your own GAM 360 or it's the free one with limits (e.g. 800k video impressions a month), need fast access to AdX and PMP, server-side insertion for CTV/OTT, and are ready to entrust the setup to Adaptek. ## Commercial terms Indicative ranges — in [Payouts, shares and reconciliation](https://support.adaptek.tv/docs/mcm/payments?lang=en). Exact terms are fixed in the MCM Service Order Agreement with Adap-Tech Solutions OÜ. Next: [Publisher onboarding — 8 steps](https://support.adaptek.tv/docs/mcm/onboarding?lang=en) --- # Creating an ad campaign > Source: https://support.adaptek.tv/docs/adstart/portal/campaigns?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > Step by step — the five sections of the campaign form, geography and territorial risks, audience, frequency and dayparts, creative, price and readiness check. A campaign is filled in one form with five sections: **Basic information → Audience and packages → Creative → Price → Review**. On the right (on a phone — below the form) you see the **campaign passport** with all the selected parameters. ## What to prepare - an approved advertiser company; - the campaign name, brand, budget in hryvnias and dates; - regions, cities, audience and a channel package; - a ready video — or create one first from a brief: [Creating a video from a brief (AI)](https://support.adaptek.tv/docs/adstart/portal/ai-creatives?lang=en); - the IAB category of the advertised product; - if needed, a view-start tracker (`https://…`) from your measurement vendor. ## Getting started 1. Check the **active company** in the top bar. 2. Open **Campaigns → Create campaign**. 3. Make sure the right company is selected in the "Advertiser" field. The form saves the draft automatically about a second after each change — the time of the last save is shown above the form. Autosave doesn't replace the buttons at the end of the form. ## 1. Basic information | Field | Rule | |---|---| | Campaign name | Unique within the advertiser. Only you and the portal team see it; a confidential alias is passed to Google Ad Manager | | Advertiser | The company on whose behalf the campaign runs | | Brand | Mandatory | | Budget | In hryvnias, excluding VAT | | Start and end date | The end is not earlier than the start | > [!NOTE] > A campaign may cross a month boundary, but for now it's counted in the order of its start month — the check will show a warning. ## 2. Audience and packages ### Regions and territorial risks 1. Choose one or more regions (oblasts). 2. The **"All except occupied"** mode is always on — occupied territories are excluded automatically. 3. Optionally add the **"Possible hostilities"** and **"Active hostilities"** categories. Settlements where communications or infrastructure don't work are not added even then. ### Cities Search for a city by name, after choosing a region or district, by settlement type or with a quick filter: over 50k, over 100k, regional centres, million-plus cities, district centres, resort cities. If no city is selected, the campaign covers all available cities within the other conditions. ### Genres, gender, age and packages - **Genres** — channel topics by the IAB classification. - **Gender** and **age groups** — the channels' audience. - **Packages** — ready sets of channels (for example, women's, men's, kids, music). An empty selection means **all available inventory**, not an empty audience. The **"View matching channels"** button shows which channels fit the selected conditions — it's only a preview. ### Frequency and dayparts | Parameter | Options | |---|---| | Frequency | Maximum impressions per viewer per day, week, month or the whole period | | Days | All, weekdays only, weekends only | | Dayparts | Morning 06:00–10:00 · Day 10:00–16:00 · Evening / prime 16:00–23:00 · Late night 23:00–06:00 | Dayparts are applied in the ad network's time zone. ## 3. Creative In the "Creative source" field choose: - **Existing** — a creative of this advertiser from the registry; check the duration, IAB category and tracker. - **Add new** — enter a unique name, add the video file and wait for optimization and upload to finish. Rules for a new video: - up to **100 MB**; files over 30 MB are automatically optimized by the browser before upload — don't close the page; - the duration is detected automatically; it must be a whole number of seconds; - the name is not repeated for the same advertiser and brand; - the tracker is a full `https://` address. Technical requirements and checks — [Creatives — requirements, documents and review](https://support.adaptek.tv/docs/adstart/portal/creatives?lang=en). ## 4. Price The section shows the base CPM, the total modifier, the estimated CPM, the **estimated number of impressions** (budget ÷ CPM × 1000) and spend. It's an estimate based on the portal's rates, not an invoice. Prices exclude VAT. Public base rates are on the "Prices and rates" page at adstart.tv. ## 5. Review Readiness indicators: - the company is approved; - the creative has a duration; - documents are approved or not needed; - the creative is approved; - payment is received. Buttons: | Button | What happens | |---|---| | **Save without submitting** | The campaign stays a draft | | **Publish** | The campaign is submitted for review to the portal team (for an advertiser this is not writing to Google Ad Manager) | What happens next — [Campaign statuses, publishing and changes](https://support.adaptek.tv/docs/adstart/portal/campaign-lifecycle?lang=en). ## Checklist before submitting - the right advertiser is selected; - the campaign name is unique; - budget and brand are filled in; - the month-crossing warning is checked; - geography and territorial risks are checked; - frequency, days and dayparts are checked; - the creative is uploaded or selected, the IAB category is filled in; - documents are approved or not needed; - the company is approved. --- # How support works > Source: https://support.adaptek.tv/docs/adaptek/support?lang=en · Language: English · Product: Adaptek · Access: public > > Ticket channels, priorities, response times and what to include in a ticket so it gets solved faster. ## Channels | Channel | What for | How | |---|---|---| | **Portal** | The main channel: history, files, statuses, link to your launch | [New ticket](https://support.adaptek.tv/tickets/new) | | **Telegram** | Notifications, quick replies, creating tickets from your phone | [Telegram support bot](https://support.adaptek.tv/docs/adaptek/telegram?lang=en) | | **E-mail** | If you don't have portal access yet | support@adaptek.tv | ## Priorities and first-response times | Priority | When to choose | First response | |---|---|---| | **Critical** | Ads or streaming are broken in production, widespread error | within 1 h | | **High** | A significant share of inventory isn't monetized, the launch is blocked | within 4 h | | **Normal** | Questions, configuration, non-blocking defects | within 24 h | | **Low** | Wishes, consultations without urgency | within 72 h | The deadline is counted from ticket creation and shown on the ticket. If the priority was chosen incorrectly, the team will adjust it. ## Ticket lifecycle 1. **New** — the ticket has been received and the team notified. 2. **In progress** — an owner is assigned and working on it. 3. **Waiting for customer** — we need your reply or action. As soon as you reply, the ticket goes back to “In progress”. 4. **Resolved** — we consider the issue solved. If not, just write in the ticket and it reopens. 5. **Closed** — the final state. ## What to include in a ticket The more precise the description, the faster the fix. For typical cases: - **Ads don't show (SSAI):** link to the output stream, channel, exact time with time zone, a manifest fragment with markers. See [Troubleshooting SSAI](https://support.adaptek.tv/docs/ssai/troubleshooting?lang=en). - **AdStart player:** the diagnostics file from the player (export button in the diagnostics panel), build number, browser/device. See [Player installation — overview](https://support.adaptek.tv/docs/adstart/install?lang=en). - **GAM / MCM:** Network code, ad unit, a sample tag or VAST request, a report screenshot. See [GAM 360 · MCM with Adaptek](https://support.adaptek.tv/docs/mcm?lang=en). - **Reconciliation and payouts:** period, your report, the discrepancy in numbers. See [Payouts, shares and reconciliation](https://support.adaptek.tv/docs/mcm/payments?lang=en). > [!TIP] > Attach screenshots and files directly to the ticket — up to 10 files, 25 MB each. In Telegram you can send a photo or a document with a caption. ## Who sees a ticket A ticket is visible to its author, colleagues from your organization on the portal, and the Adaptek team. Internal team notes are not shown to you. --- # How SSAI.TV works > Source: https://support.adaptek.tv/docs/ssai/how-it-works?lang=en · Language: English · Product: SSAI.TV · Access: public > > Architecture, request flow and the roles of the channel, OTT, ad server and SSAI. SSAI.TV sits in the content delivery chain right after the CDN origin and handles player requests. It does not pass the content through itself — it only builds a manifest for every viewer in which ad segments replace the original ones. ## Flow ![SSAI.TV architecture: channel → OTT → SSAI → player, ad server and tracking](https://support.adaptek.tv/docs-assets/ssai/media/public/ssai-flow.en.png) The numbers on the diagram are the steps of the server-side insertion process: [validation, VAST request and response, transcoding, stitching, S2S tracking](https://support.adaptek.tv/docs/ssai/integration/ad-server?lang=en#процес-серверної-вставки-s2s). 1. **The TV channel** broadcasts a stream with **SCTE-35** markers indicating the start and duration of an ad break. 2. **The OTT platform** encodes the stream for players and packages it into HLS (creates the `.m3u8` manifest). Markers are preserved, and chunks are cut so that break boundaries coincide with segment boundaries — a standard packager feature. 3. **SSAI.TV** reads the manifest and recognizes the markers. When a break starts and there is a decision to replace ads, it builds an individual manifest. 4. **The viewer's player** requests the playlist via the link the OTT received from SSAI.TV. Device data is passed with the request: IP (geo), User-Agent (device type), device ID (frequency, reach). 5. **SSAI.TV calls the ad server** (VAST request) with the break and viewer parameters. 6. **The ad server** decides whether the viewer belongs to the campaigns' target audience and returns a list of creatives in one response. 7. **SSAI.TV** transcodes new creatives into all stream profiles (with EBU R 128 loudness normalization), assembles the ad break, fills the remainder with a **filler** agreed with the channel, and returns a new playlist to the viewer. If there are fewer ads than the **fillfloor** threshold, no insertion happens and the original broadcast plays. 8. **Tracking:** SSAI.TV follows segment requests, counts the actual ad duration and reports every impression to the measurement systems (or passes the trackers to the client — [Client Side Tracking](https://support.adaptek.tv/docs/ssai/integration/client-side-tracking?lang=en)). > [!NOTE] > The first request for a new creative usually gets the filler: the creative is transcoded first and goes on air from the next request. This is expected behaviour. ## Two deployment options | | SSAI “behind” OTT (reverse proxy) | SSAI “in front of” OTT | |---|---|---| | Viewer link | OTT domain | SSAI.TV domain | | Who calls SSAI | OTT servers, passing viewer data in headers | the player directly | | Content segments | absolute links to the OTT CDN | absolute links to the OTT CDN | | Ad segments | via the OTT CDN (`/creatives/`) | via the OTT CDN (`/creatives/`) | Details — in [Integration spec for OTT platforms](https://support.adaptek.tv/docs/ssai/integration/ott?lang=en). ## Roles and responsibilities | Party | Responsible for | |---|---| | **Rights holder / channel** | SCTE-35 markers, filler, ad rules — [SCTE-35 markers on the channel](https://support.adaptek.tv/docs/ssai/integration/scte35?lang=en) | | **Sales house / ad server** | Campaigns, creative validation with the rights holder, VAST — [Technical requirements for ad servers](https://support.adaptek.tv/docs/ssai/integration/ad-server?lang=en) | | **OTT platform** | HLS packaging, CDN, passing device data — [Integration spec for OTT platforms](https://support.adaptek.tv/docs/ssai/integration/ott?lang=en), [CDN — requirements for SSAI](https://support.adaptek.tv/docs/ssai/integration/cdn?lang=en) | | **Adaptek (SSAI.TV)** | Manifest manipulation, transcoding, tracking, reporting | > [!IMPORTANT] > SSAI.TV is not responsible for copyright compliance or content owners' requirements — it inserts the creative as instructed by the ad server chosen by the customer. Creative validation is the job of the sales house and the rights holder. ## VOD and FAST For VOD the break layout comes from the CMS media plan or from the ad server's ad rules (VMAP). A FAST channel with the same server-side insertion can be built from VOD content. Insertion accuracy in VOD is limited by segment boundaries — see [Ads cut a scene in VOD](https://support.adaptek.tv/docs/ssai/troubleshooting?lang=en#реклама-ріже-сцену-у-vod). --- # Campaign statuses, publishing and changes > Source: https://support.adaptek.tv/docs/adstart/portal/campaign-lifecycle?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > What happens after submission — campaign statuses, returning for rework, publishing conditions, pause, sync with GAM and changing an already published campaign. ## Statuses | Status | Meaning | |---|---| | Draft | The campaign is saved and can be edited | | In review | Submitted to the portal team | | Approved / Rejected | The portal team's decision | | Awaiting payment / Paid | Invoice state | | Ready for publication | All checks passed | | Dispatching | Writing to Google Ad Manager is in progress | | On air | The campaign is published and running | | Paused | Impressions are temporarily stopped | | Completed | The campaign period is over | | Reconciliation required | The publishing result is ambiguous — the portal team checks manually | | Blocked | The campaign won't pass publishing until the causes are fixed | | Failed | Publishing failed | ## Returning for rework The portal team can return a campaign to draft with a **mandatory comment**. The comment is shown above the campaign form: fix what's indicated and submit again. ## Publishing conditions The portal team publishes a campaign to Google Ad Manager when: - the company is approved; - the product and inventory are defined; - the creative is approved by AdStart and, if needed, by the rights holder or sales house; - documents are approved or not needed; - payment is received (or the portal team allowed manual payment); - the technical readiness check has passed. The blocking reasons are visible in the campaign passport. ## Campaign passport Open a campaign in the registry. The **Passport** tab shows all settings, readiness, documents, payment, technical state and the action log (who changed what, when). The **Analytics** tab — actual impressions and reach: [Campaign analytics](https://support.adaptek.tv/docs/adstart/portal/reports?lang=en#campaign-analytics). ## After publishing The portal team has: - **sync with GAM** — reconciling the campaign's actual state; - **pause and resume** in GAM; - a comparison of portal and GAM settings. ## Changing a published campaign - There may be a **cooldown** between changes — the portal shows the earliest time of the next change. For urgent changes, contact support. - Before saving, the portal reconciles the campaign with GAM again. - If the campaign was changed **directly in GAM**, the portal marks it "Changed on the GAM side", freezes automatic application of changes and creates a **change request** with the status "Awaiting approval". The portal team first reconciles the state in GAM manually, then approves or rejects the request. > [!WARNING] > Don't mark the campaign reconciled until the state in GAM has actually been checked. ## Campaigns in the registry The registry supports search (name, advertiser, brand), sorting, a status filter and Excel export. Bulk actions depend on the role: duplicating, archiving, publishing and syncing with GAM — for the portal team. --- # Telegram support bot > Source: https://support.adaptek.tv/docs/adaptek/telegram?lang=en · Language: English · Product: Adaptek · Access: public > > How to connect the bot, receive notifications and work with tickets from Telegram. The bot complements the portal: everything you do in Telegram is saved in the ticket on the portal, and vice versa. ## Connecting 1. Sign in to the portal and open your [profile](https://support.adaptek.tv/account). 2. Press **“Connect Telegram”** — the bot opens. 3. Press **Start**. The bot confirms the connection. The link is one-time and valid for 30 minutes. You can disconnect the bot in the same place, in your profile. ## What the bot can do | Action | How | |---|---| | Receive notifications | Automatically: new replies, status changes, onboarding tasks, due-date reminders | | Reply to a ticket | **Reply** to the bot's message about that ticket | | Create a ticket | `/new Subject` — description from the next line. You can also send a photo or a document with such a caption | | See open tickets | `/tickets` | | Help | `/help` | > [!NOTE] > Files up to 20 MB sent from Telegram are attached to the ticket automatically. ## Which notifications arrive Channels (e-mail and Telegram) are switched on separately in your profile. In the portal itself notifications are always stored — see the bell icon at the top. Notifications come in the language chosen in your profile. See also: [How support works](https://support.adaptek.tv/docs/adaptek/support?lang=en). --- # Exporting materials for AI > Source: https://support.adaptek.tv/docs/adaptek/ai-export?lang=en · Language: English · Product: Adaptek · Access: public > > PDF and Markdown for ChatGPT, Claude, Gemini and other assistants — a page, a section or the whole public knowledge base. Documentation is a convenient context for an AI assistant: it will answer integration questions based on up-to-date instructions. ## Options | What | Where | Format | |---|---|---| | One page | **⬇ PDF** and **⬇ MD** buttons at the top of the page | PDF / Markdown | | A whole product section | “⬇ Whole section as one PDF” in the left menu or on the [Documentation](https://support.adaptek.tv/docs) page | PDF with a table of contents and bookmarks | | A section in Markdown | `/api/docs/bundle?space=ssai&format=md` | Markdown | | The whole public knowledge base | [/llms-full.txt](https://support.adaptek.tv/llms-full.txt) | text | | Index for AI agents | [/llms.txt](https://support.adaptek.tv/llms.txt) | llms.txt standard | Exports are in the language you have selected on the portal (add `&lang=en`, `&lang=uk` or `&lang=ru` to a link to choose explicitly) and respect your access rights: only pages you can see on the portal are included. ## What's in the file - Real text (not images) — AI reads it without OCR. - Absolute links: links between pages, images and videos point to the portal, so the file makes sense outside it. - A header with the source: page address, language, product, access level, update date. - Videos in PDF appear as links (they play on the portal). > [!TIP] > **Markdown** is better for AI: it is more compact and keeps table structure. PDF is for people and for assistants that accept only PDF. > [!WARNING] > “Customers” materials are confidential. Don't upload them to public AI services unless your company policy allows it. --- # Creatives — requirements, documents and review > Source: https://support.adaptek.tv/docs/adstart/portal/creatives?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > Technical video requirements, the creative package, the guarantee letter and music certificate, AdStart and rights holder review statuses. The **Creatives** section brings together everything needed to launch a video: the video, documents and review results. The unit of work is a **creative package**. ## Technical video requirements | Parameter | Requirement | |---|---| | Container | MP4 | | Resolution | 1920×1080 (1080p), 16:9 | | Frame rate | at least 25 fps | | Video codec | H.264 | | Audio | AAC stereo, 192 kbit/s, 48 kHz | | Duration | a whole number of seconds | | Size | up to 100 MB; over 30 MB — automatic optimization in the browser before upload | The technical check in the package shows "Passed" or "Needs attention" for each parameter. For server-side insertion in OTT it's better to upload maximum quality — SSAI.TV requirements: [Ad creative requirements](https://support.adaptek.tv/docs/ssai/creatives?lang=en). ## Creative package A package contains: - the campaign, advertiser, brand, IAB product category, dates, ad place and rights holder; - a video preview; - the technical check; - documents; - the review state of AdStart and the rights holder or sales house. An uploaded video is stored in the advertiser's creative registry — you can pick it in later campaigns. ## Documents | Document | What's in it | |---|---| | **Guarantee letter** | The company guarantees it holds all rights to the creative for a specific campaign, placement and period, and is responsible for the content | | **Music certificate** | Creative and version, campaign, a short plot description, musical works (titles, timing), authors of music and lyrics, performers, permit term, video producer. Confirms the rights and the absence of persons and rights holders from the aggressor state | | **Additional documents** | At the request of the channel or product category | Documents can be uploaded or created from a template. Statuses: missing → uploaded / created → pending review → approved. ## Creative review | Status | Meaning | |---|---| | Draft | The package is being assembled | | Submitted | Sent for review | | Pending technical check | Video parameters are being checked | | Pending documents | Documents are missing | | Pending AdStart review | The portal team is reviewing the content | | Pending publisher review | A decision by the rights holder or sales house is needed | | Approved | The creative can be used | | Rejected / Changes requested | A decision with a mandatory comment | - For each channel it's defined who reviews creatives: the rights holder or a delegated sales house. One approval by an assigned validator is enough. - Rejections and change requests always have a comment — it's shown in the package as "Last comment". ## IAB category The category of the advertised product (per the IAB Ad Product taxonomy) defines on which channels and in which breaks the creative is allowed. Pick the most accurate one. ## Content and law The advertiser is responsible for the video's content and its compliance with the Law of Ukraine "On Advertising": accuracy, prohibited content, advertising for children, medicines, the state language. The portal team may refuse to place materials that break the law. For videos created in the portal there's an advisory checklist — [4. Compliance and documents](https://support.adaptek.tv/docs/adstart/portal/ai-creatives?lang=en#compliance). --- # Glossary > Source: https://support.adaptek.tv/docs/adaptek/glossary?lang=en · Language: English · Product: Adaptek · Access: public > > AdTech, OTT and Google Ad Manager terms used in the documentation. | Term | Explanation | |---|---| | **SSAI** | Server-Side Ad Insertion — ads are stitched into the stream on the server; the player receives one continuous stream. See [How SSAI.TV works](https://support.adaptek.tv/docs/ssai/how-it-works?lang=en) | | **CSAI** | Client-Side Ad Insertion — ads are requested and played by the player (IMA SDK). Vulnerable to ad blockers (≈30% loss on the web) | | **DAI** | Dynamic Ad Insertion — the general name for dynamic insertion; Google's SSAI product has this name | | **SCTE-35** | A standard for transport-stream markers that indicate the start and duration of an ad break. See [SCTE-35 markers on the channel](https://support.adaptek.tv/docs/ssai/integration/scte35?lang=en) | | **HLS / m3u8** | A streaming video protocol; the `.m3u8` manifest lists segments (chunks) | | **CUE-OUT / CUE-IN** | Markers for the start and end of an ad break in an HLS manifest | | **EXT-X-DISCONTINUITY** | An HLS tag warning the player about a discontinuity (encoding change) — mandatory at ad boundaries | | **Filler** | A placeholder shown in the rest of the break when there aren't enough ads; agreed with the channel owner | | **Fillfloor** | The minimum break fill below which insertion is skipped and the original broadcast plays | | **VAST / VMAP** | IAB standards: ad-server response with creatives (VAST) and break schedule (VMAP) | | **Pod** | An ad break with several creatives in one response | | **FAST** | Free Ad-Supported Streaming TV — linear channels with ads built from VOD content | | **GAM / GAM 360** | Google Ad Manager; 360 is the paid version with advanced features (MCM, Advanced Video) | | **AdX** | Google Ad Exchange — Google's demand exchange | | **MCM** | Multiple Customer Management — a program where a partner (parent) manages a publisher's (child) inventory or account. See [MCM models — Manage Account and Manage Inventory](https://support.adaptek.tv/docs/mcm/models?lang=en) | | **Manage Account / Manage Inventory** | The two delegation types in MCM | | **Network code** | GAM network identifier | | **Ad unit** | A unit of inventory in GAM that tags and targeting are attached to | | **Key-values** | Custom targeting parameters in a request (e.g. `channel_name=...`) | | **UPR** | Unified Pricing Rules — minimum price (floor) rules in GAM | | **PMP / PD / PG** | Private Marketplace, Preferred Deals, Programmatic Guaranteed — private deals | | **Open Bidding** | Server-side auction of third-party exchanges inside GAM | | **ads.txt / app-ads.txt** | A file on the publisher's domain listing authorized sellers. See [ads.txt and app-ads.txt](https://support.adaptek.tv/docs/mcm/ads-txt?lang=en) | | **CMP / Consent Mode v2** | Consent management platform and Google's consent signalling mode (mandatory in the EU) | | **PPID** | Publisher Provided ID — a viewer identifier from the publisher (for frequency and reach) | | **PAL SDK** | Google Programmatic Access Library — generates a nonce for programmatic requests from server-side insertion. See [Google PAL SDK for SSAI](https://support.adaptek.tv/docs/ssai/integration/pal-sdk?lang=en) | | **SIMID** | IAB standard for interactive creatives over video. See [Interactive creatives (SIMID)](https://support.adaptek.tv/docs/ssai/integration/interactive-simid?lang=en) | | **IVT** | Invalid Traffic — bots, fraud; not billed and penalized by Google policies | | **eCPM / fill rate** | Revenue per 1,000 impressions / share of requests that received an ad | | **QoE** | Quality of Experience — playback quality metrics (TTFF, rebuffering). See [Player video analytics](https://support.adaptek.tv/docs/adstart/analytics?lang=en) | | **EBU R 128** | Loudness normalization standard SSAI.TV applies to creatives | | **SCTE-104** | The SDI studio-signal counterpart of SCTE-35; the encoder converts it into SCTE-35 in the transport stream | | **splice_insert** | The SCTE-35 command that marks an insertion point. `out_of_network_flag`: `true` — ad start, `false` — return to the programme | | **Pre-roll (markers)** | How far ahead of the event the marker arrives. The event moment itself is set by the PTS in the marker. See [SCTE-35 markers on the channel](https://support.adaptek.tv/docs/ssai/integration/scte35?lang=en) | | **Auto return** | A marker flag: the break ends by duration without a closing marker | | **PTS** | Presentation Time Stamp — the time a frame or marker event should play | | **GOP / IDR** | The group of frames between keyframes / a keyframe a segment can start from. The marker must be on an IDR | | **Packager** | Cuts the stream into HLS/DASH segments and carries markers into the manifest | | **Manifest manipulator** | The SSAI server component that personalizes the playlist for each viewer | | **Ad unit (in SSAI.TV reports)** | A person-break: an ad break seen by one viewer. Not to be confused with an ad unit in GAM. See [Statistics and reporting](https://support.adaptek.tv/docs/ssai/metrics?lang=en) | | **Impressions duration** | Total seconds of impressions; together with inventory duration it gives the SSAI.TV fill rate | | **Top-up (добивка)** | A short video or filler that fills the break remainder up to the exact duration | | **Bumper** | An "advertising" slate at the entry to or exit from a break; markers are placed inside bumpers | | **`promo_`** | A creative-name prefix for promos and public service ads: no "advertising" caption, not billed | | **Flight** | A separate period within a campaign with its own dates, budget and limits | | **Daypart** | Targeting by part of the day | | **Frequency cap** | A limit on impressions per viewer over a period | | **Muxed / demuxed** | Audio and video in one segment / as separate tracks. SSAI needs muxed | | **Multi-Period DASH** | A DASH manifest where the ad is delivered as a separate Period | | **Catch-up / Start over / Timeshift** | Watching the archive, restarting a programme from the beginning, pausing live | | **Stream router** | The CDN entry point that directs the viewer to a specific streamer node | | **OM SDK** | Open Measurement SDK (IAB) — client-side viewability measurement | --- # Creating a video from a brief (AI) > Source: https://support.adaptek.tv/docs/adstart/portal/ai-creatives?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > How to fill in a brief, analyze a website, generate video variants, add prices, contacts, a QR code, voice-over and music, pass the checklist and get an origin document. If you don't have a ready video, you can create one in the portal: **Creatives → Create creative**. First you fill in a **brief** (creation passport), then video variants are generated. ## 1. Brief The brief is saved as a draft from the first character typed — unfinished briefs are listed under "Unfinished creative requests". | Section | What to fill in | |---|---| | Company website | The site address — the **Analyze website** button suggests the brand, products, audience and tone of voice. The result is only a hint: check it and click **Use in brief** | | Product | Name (mandatory), description, wishes for the ad: what must be in the video, emphasis, restrictions | | Target audience | Who exactly will watch the ad — not just age and gender. The more precise the description, the more precise the scene | | Call to action | From ready options or your own; appears both as on-screen text and in the voice-over | | Duration | Video length in seconds | | Contacts | Phone, email, address, website | | Prices | Rows of "what — amount — currency" | | Product photos | Up to 3 photos — so the product in the video looks like the real one, not an approximation | | On-screen placement | Price and contacts at the bottom or top; the QR code automatically goes to the opposite side | | QR code | Where it leads and which side of the screen | Prices, contacts and the QR code are overlaid on the finished video exactly as entered — the model doesn't "draw" them, because a wrong price in an ad is a legal problem. When the brief is ready, click **Mark as ready**. > [!NOTE] > If you have a portal role and no company is selected, the portal first asks which company the creative is for. ## 2. Balance and paying for generation Generation is paid from the company balance. Each run creates several video variants — **all generated variants are charged**, regardless of which one you pick. Top up the balance by card (from 10 UAH) with the **Top up balance** button. ## 3. Generating variants 1. Click **Generate variants** — generation takes a few minutes. 2. Review the variants and click **Choose this variant** — the portal overlays the price, contacts and QR code and saves the **final video**. 3. Optionally click **Add voice-over and music**. > [!WARNING] > Unselected variants are deleted automatically a day after generation — download the videos you need in advance. Overlays and sound are processed in the browser; if an error occurs, try Chrome or Edge. ## 4. Compliance and documents An advisory checklist under the Law of Ukraine "On Advertising" (not legal advice): | Article | What to check | |---|---| | Art. 7–8 | Accuracy and truthfulness of facts, prices and claims | | Art. 8 | Prohibited content: discrimination, subliminal influence, false discounts, state symbols, images of real people without consent | | Art. 10 | Fairness: the ad doesn't mislead about quality, properties or origin | | Art. 20 | Advertising for children: no direct calls to buy, dangerous scenes or weapons | | Art. 21 | Medicines: over-the-counter only, the warning "Self-medication may be harmful to your health" | | Art. 32 | Language: text and voice-over are taken only from your Ukrainian brief fields — handled automatically | Items relevant to your product (for example, medicines or children) are flagged separately. Confirm the checklist — after that the **Origin document** becomes available: model, prompt, creation date and licence terms for your records. The **Similar creatives** block shows textual similarity to your other briefs — a guideline, not a copyright check. ## 5. Using it in a campaign The final video appears among the advertiser's creatives — pick it in the campaign's "Creative" section: [3. Creative](https://support.adaptek.tv/docs/adstart/portal/campaigns?lang=en#creative). --- # Reports and analytics > Source: https://support.adaptek.tv/docs/adstart/portal/reports?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > The home dashboard, campaign analytics, basic and advanced reports, the report registry and what to do if a report is empty. Impression data arrives from Google Ad Manager after the daily sync. Until then, reports correctly show an empty state. ## Who sees what - An advertiser — only its own campaigns. - A rights holder, sales house or OTT platform — the inventory linked to them. - The portal team — everything permitted or the data of the selected company. - A user without a company or inventory gets an empty result. ## Home Active campaigns, yesterday's impressions, impressions for the period, reach by platform, impression plan completion and budget usage. ## Campaign analytics Campaign → **Analytics** tab: 1. Period: today, 7 days, 30 days, the whole term or custom. 2. Breakdown: date, channel or platform. 3. Impressions, reach, impression plan and budget completion, a chart. Reach for a custom period is calculated by a separate request. While the campaign runs, reach is "preliminary"; after it ends — "final". **Additional on-demand reports** (region, city, device, hour, targeting, reach for a period) are built in GAM asynchronously — status "Submitted → Running → Done". ## Basic reports **Reports → Basic reports.** The table updates right after the parameters change. 1. **Metric:** impressions, reach or revenue (calculated as impressions × campaign CPM). 2. **Rows:** date, channel, platform, campaign. 3. **Columns** (optional): for a pivot comparison, for example campaigns × platforms. Date can't be a column; one dimension can't be both a row and a column. 4. **Period:** day, 7 days, 30 days, current month or custom — up to three months. The result can be searched, sorted and exported to CSV or Excel. > [!NOTE] > Reach is unique viewers; it can't be summed by day. So for reach only the "platform" or "campaign" rows are available, without columns and without a custom period. ## Advanced reports **Reports → Advanced reports** — the result is always a file in the registry. - **Metrics** (several): impressions, reach, revenue, impressions × duration in seconds, campaign count. - **Aggregation** for additive metrics: sum or daily average. - **Rows and columns** (several): date, hour, channel, platform, campaign, device, region, city. - **Period:** today by hour, today, 7 days, current week, 30 days, current month, custom. Click **Generate** — the portal chooses the method itself: automatically from daily data, via an asynchronous GAM request or as a manual order for the portal team. An identical request isn't duplicated — the ready result is added to your registry as shared. ## Report registry | Icon | Meaning | |---|---| | ✅ | Ready — click the ID to download the file | | ⏳ | Queued or running | | ❌ | Error | | 🤖 / ✋ | Automatic / manual generation | | 🚩 | Flagged as defective | | 🔗 | A shared result of another requester | Actions: 📋 copy parameters to the builder (dates aren't copied), 🚩/🏳 set or clear the defective flag, 🔁 regenerate a defective report, 🗑 delete your own order. A shared record can't be deleted as your own. When a report is ready, the company gets a notification. ## The report is empty Check the period, the active company, whether there are published campaigns and whether the GAM sync has run (data appears the next day). --- # Billing — invoices, payment, acts > Source: https://support.adaptek.tv/docs/adstart/portal/billing?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > How the cost is formed, how to pay an invoice by card or bank transfer, the company balance, acts and reconciliation statements, refunds. ## Cost - The model is **CPM**, the price per 1,000 impressions. Base rates are published on the "Prices and rates" page at adstart.tv. - The final campaign cost depends on the channels, audience, period, video length and placement volume — it's shown in the campaign's "Price" section and on the issued invoice. - Prices in the account **exclude VAT**; **20% VAT** is added to the invoice amount. The invoice shows the amount without VAT, the VAT and the amount due. ## Invoices **Billing** — all your company's invoices: | Status | Meaning | |---|---| | Draft | The invoice is being prepared | | Issued | Awaiting payment by the due date | | Paid | Payment received (in full or partly — see the "Payment" column) | | Overdue | The due date has passed | | Cancelled | The invoice is voided | Invoices can be downloaded. The campaign starts airing after payment arrives (prepayment). ## How to pay - **By card** Visa/Mastercard — the **Pay by card** button (LiqPay, PrivatBank). Card data is processed only by the payment service; the portal doesn't store it. - **By bank transfer** using the details on the invoice — be sure to include the **invoice number** in the payment reference. ## Balance An overpayment stays on the **company balance**. On an invoice you can tick **"Use balance"** — the amount is deducted from the balance; untick it to return the amount to the balance and use it for another invoice. The same balance pays for video generation — [2. Balance and paying for generation](https://support.adaptek.tv/docs/adstart/portal/ai-creatives?lang=en#balance). ## Acts - The **act of services rendered** is available after payment and the end of the campaign. - A **reconciliation statement** is generated for a period — first select the company in the switcher at the top. ## Refunds - The campaign hasn't started yet — the money is refunded in full. - The campaign was partly delivered — the cost of the unused impression volume is refunded proportionally. - Refunds use the same method: to a card via LiqPay within 30 days (depending on the bank), by transfer — within 3 banking days. - Send a request to the email listed on adstart.tv with the invoice or campaign number and the reason — review takes up to 3 business days. Full terms — in the public offer and the "Payment and refunds" section at adstart.tv. --- # Accounts, roles and contacts > Source: https://support.adaptek.tv/docs/adstart/portal/accounts?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > How a company administrator adds users, assigns roles, keeps contacts and temporarily revokes access. ## Account and contact - An **account** — portal login, roles and access to companies. - A **contact** — a record about a person in the company card (manager, contracts, finance, technical, client contact); it may have no login. The contact form doesn't create an account. When an administrator saves an account assigned to a company, the portal itself creates or links a contact with the same email. ## Roles | Role | Can | |---|---| | **Advertiser administrator** | Everything in its company, including assigning managers and viewers | | **Advertiser manager** | Create and run campaigns, creatives, reports | | **Advertiser viewer** | View only | | **Rights holder / sales house administrator** | Manage its company, assign managers and validators | | **Rights holder / sales house manager** | Work with inventory and campaigns on its channels | | **Validator** | Only approve, reject or request changes to creatives for its ad places | | **AdStart Owner / Admin / AdOps** | The portal team | One account can have different roles in different companies — add a separate assignment row, not a new account. A role can't be assigned above your own authority. ## Adding a user 1. **Administration → Accounts → Add account.** 2. Name, a unique email, phone (if known), status. 3. An assignment row: company → role; if needed, a description of the access scope. 4. **Save.** For the person to create a password, send an **invitation** — the link arrives at their email. ## Statuses | Status | Meaning | |---|---| | Active | Can work according to their roles | | Invited | The account is created; the password isn't set yet or the email isn't confirmed | | Inactive | Login is suspended | **To revoke access temporarily** — open the account, choose "Inactive" and save. **Deleting** erases the account and frees the email, but doesn't delete the company and contacts. You can't delete or deactivate your own account. ## Contacts Keep working contacts in the **company card → Contacts**: 1. **Add contact** → type, name, email, phone, notes. 2. If needed, choose a **Linked account** — the name, email and phone are filled in from the account; you can immediately add a role in this company without changing access in others. 3. To avoid duplicates — one work email and checking the list before creating. ## Company card Logo, website, legal details (registration code, VAT, addresses, IBAN), contracts (generated from a template: draft → generated → pending signature → signed) and contacts. Only the AdStart team changes the company's review status. --- # Ad creative requirements > Source: https://support.adaptek.tv/docs/ssai/creatives?lang=en · Language: English · Product: SSAI.TV · Access: public > > Format, quality and audio of video creatives for SSAI.TV server-side insertion. A creative is transcoded to the profiles of each stream, so maximum quality is needed on input. | Parameter | Requirement | |---|---| | Video | **1920×1080**, 25 fps, H.264, **15 Mbps or more** | | Audio | AAC, 48 / 96 kHz, 128 kbps, **one** 2.0 stereo track | | Container | `.mp4`, `.mov`, `.mxf`, `.mpeg` | | Tracks | Both video and audio are mandatory | | Loudness | Normalized automatically to **EBU R 128** | ## Tips - The creative must be transcodable: no protection, no variable frame rate. - Choose creative durations to fit the channel's typical break lengths — the remainder is filled with the filler. - Ad server line items must include the **1920×1080** size: a request without it often returns an empty response. See [Empty VAST or NO AD](https://support.adaptek.tv/docs/ssai/troubleshooting?lang=en#порожній-vast-або-no-ad). - Free GAM limits built-in creative hosting to 30 MB — compress or use external hosting. > [!NOTE] > A new creative is transcoded before its first impression, so the first request usually gets the filler and the creative appears in later breaks. Validating the creative's content (rights, music, documents) is the responsibility of the sales house and the rights holder: [Roles and responsibilities](https://support.adaptek.tv/docs/ssai/how-it-works?lang=en#ролі-та-відповідальність). --- # AdStart portal — overview > Source: https://support.adaptek.tv/docs/adstart/portal?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > What the AdStart account can do, who works in it, how a campaign goes from draft to air and where to find things in the menu. The **AdStart portal** (the account at adstart.tv) lets an advertiser plan, approve, pay for and launch video ads in OTT/CTV — on Smart TVs, in apps and on the web — without knowing Google Ad Manager or server-side insertion technology. Rights holders, OTT platforms and sales houses work in the same account, each within their own limits. ## Who works in the portal | Company type | What it does | |---|---| | **Advertiser** | Creates campaigns, uploads creatives, pays invoices, views reports | | **Agency** | Acts on behalf of advertisers where allowed | | **Rights holder** | Owns channels; approves creatives for its ad places | | **Sales house** | Sells ads on assigned channels; may receive delegated creative review | | **OTT platform** | Distributes channels to viewers; sees statistics for its inventory | | **AdStart** | The portal team: approves companies, reviews and publishes campaigns, supports clients | A company, a contact and an account are different things: one person can have access to several companies with different roles. Details — [Accounts, roles and contacts](https://support.adaptek.tv/docs/adstart/portal/accounts?lang=en). ## A campaign's path 1. **Sign-up** of the company and email confirmation — [Sign-up, login and profile](https://support.adaptek.tv/docs/adstart/portal/registration?lang=en). 2. **Company approval** by the AdStart team. Without it, a draft can be saved but not submitted. 3. **Campaign** — one form with five sections: basics, audience and packages, creative, price, review — [Creating an ad campaign](https://support.adaptek.tv/docs/adstart/portal/campaigns?lang=en). 4. **Creative** — an uploaded video or one generated in the portal from a brief — [Creatives — requirements, documents and review](https://support.adaptek.tv/docs/adstart/portal/creatives?lang=en), [Creating a video from a brief (AI)](https://support.adaptek.tv/docs/adstart/portal/ai-creatives?lang=en). 5. **Review** — technical, by the AdStart team and, if the channel requires it, by the rights holder or sales house. 6. **Payment** of the invoice — by card or bank transfer — [Billing — invoices, payment, acts](https://support.adaptek.tv/docs/adstart/portal/billing?lang=en). 7. **Publishing** to Google Ad Manager by the portal team and airing in the agreed period — [Campaign statuses, publishing and changes](https://support.adaptek.tv/docs/adstart/portal/campaign-lifecycle?lang=en). 8. **Reports and analytics** — impressions, reach, plan completion — [Reports and analytics](https://support.adaptek.tv/docs/adstart/portal/reports?lang=en). 9. **Video proof** — a screen recording of the ad airing on a channel — [Video proof of airing](https://support.adaptek.tv/docs/adstart/portal/creative-proof?lang=en). ## Menu | Section | What's there | |---|---| | Home | Active campaigns, yesterday's impressions, reach by platform, plan and budget completion | | Campaigns | Campaign registry, creation, campaign passport and analytics | | Creatives | Creative packages: video, documents, reviews; creating a creative from a brief | | Video proof | Recordings of ads airing on channels | | Inventory | Channels, platforms, packages, ad places (for rights holders and the portal team) | | Reports | Basic and advanced reports, file registry | | Billing | Invoices, payment, balance, acts | | Support | Help with search and your company's tickets | | Administration | Accounts, companies, roles — according to your role's rights | Sections unavailable to your role are simply not shown. ## Active company The top bar selects the company you're working on behalf of. Campaigns, reports, invoices and contacts are shown within that company. Before creating a campaign or ordering a report, check that the right company is selected. Switching companies doesn't change your role or extend your rights. ## What's next - Advertisers — start with [Sign-up, login and profile](https://support.adaptek.tv/docs/adstart/portal/registration?lang=en) and [Creating an ad campaign](https://support.adaptek.tv/docs/adstart/portal/campaigns?lang=en). - Rights holders or sales houses — [For rights holders and sales houses](https://support.adaptek.tv/docs/adstart/portal/publishers?lang=en). - Frequently asked questions — [AdStart — FAQ](https://support.adaptek.tv/docs/adstart/faq?lang=en). --- # Self-service for small businesses > Source: https://support.adaptek.tv/docs/adstart/self-service?lang=en · Language: English · Product: AdStart · Access: public > > How SMBs buy video ads without a manager — sign-up, offer, creative, validation, payment, publishing via GAM. An AdStart module for selling ads to small and medium businesses without a manager. The rights holder keeps control at every step. ## How it works 1. **Sign-up.** The company registers on the portal and signs the online offer; the contract is automatically sent to the e-document system. 2. **Campaign.** After confirmation the company creates an ad campaign and adds a creative — its own or one generated by the integrated video generator. 3. **Validation.** The rights holder checks the creative; the system scans the supporting documents. 4. **Payment** — right on the portal. 5. **Publishing** via Google Ad Manager. The rights holder can block the campaign at any step. 6. **Proof of airing** — video proof of impressions is recorded. Each step is described in detail in the [AdStart portal](https://support.adaptek.tv/docs/adstart/portal?lang=en) section: [sign-up](https://support.adaptek.tv/docs/adstart/portal/registration?lang=en), [campaign](https://support.adaptek.tv/docs/adstart/portal/campaigns?lang=en), [creatives](https://support.adaptek.tv/docs/adstart/portal/creatives?lang=en), [video from a brief](https://support.adaptek.tv/docs/adstart/portal/ai-creatives?lang=en), [payment](https://support.adaptek.tv/docs/adstart/portal/billing?lang=en), [publishing](https://support.adaptek.tv/docs/adstart/portal/campaign-lifecycle?lang=en), [video proof](https://support.adaptek.tv/docs/adstart/portal/creative-proof?lang=en). > [!NOTE] > The module is deployed for a specific rights holder. To discuss a launch — [create a ticket](https://support.adaptek.tv/tickets/new?space=adstart&category=feature) or write to support@adaptek.tv. --- # AdStart — FAQ > Source: https://support.adaptek.tv/docs/adstart/faq?lang=en · Language: English · Product: AdStart · Access: public · Updated: 2026-09-23 > > Campaigns, creatives, price, reports, accounts and contacts in the AdStart portal — briefly about what's asked most often. The answers describe the current behaviour of the AdStart portal. The step-by-step process for small businesses — [Self-service for small businesses](https://support.adaptek.tv/docs/adstart/self-service?lang=en). ## Before you start ### Why don't I see the campaign or button I need? Check the **active company** in the top bar: campaigns, reports and contacts are shown within the selected company. Switching companies doesn't change your role. If a button is missing or inactive, also check your role, the record's state and whether the mandatory conditions are met (for example, the company is approved). ### What roles does the portal have? Portal roles — Owner, Admin, AdOps. Company roles: rights holder administrator, manager and validator; advertiser administrator, manager and viewer. One account can have different roles in different companies. ## Campaigns ### What should I prepare for a campaign? An approved advertiser company, a unique campaign name, the brand, budget, dates, regions and audience, a channel package, a ready video creative, an IAB product category and, if needed, an `https://` view-start tracker. ### Is the draft saved? Yes, the form saves the draft automatically about a second after changes — the time of the last save is shown above the form. Autosave doesn't replace the "Save without submitting" or "Publish" buttons. ### What do empty filters mean? An unselected genre, package, city or audience parameter means **all available inventory**, not an empty audience. Occupied territories are always excluded; territories with active or possible hostilities are added only if you choose them. ### Can a campaign run for several months? It can, but for now it goes into the order of its start month — the check shows a warning. Agree the accounting of next month's impressions and spend with your accountants. ### Frequency and dayparts — in which time zone? Frequency is the maximum number of impressions per user per day, week, month or the whole campaign. Dayparts (morning 06–10, day 10–16, prime 16–23, night 23–06) are applied in the ad network's time zone. ### Is the price in the campaign an invoice? No. The base CPM, modifiers, estimated impressions and spend are an estimate based on the portal's products. It isn't an invoice or a charge. ### What happens after "Publish"? For an advertiser, "Publish" means submitting for review by the portal team, not writing straight into Google Ad Manager. A portal role approves the campaign, returns it for rework with a comment or publishes it to GAM after all blocking checks: company approved, creative approved, documents in place, payment received. ### Can a published campaign be edited? Yes, with restrictions: there may be a cooldown between changes (the portal shows the earliest time); before saving, the portal reconciles the campaign with GAM. If the campaign was changed directly in GAM, automatic application of changes is frozen and the request waits for approval by a portal role. ## Creatives ### What are the video requirements? For OTT: MP4, 1920×1080, 16:9, at least 25 fps, H.264, AAC stereo 192 kbit/s, 48 kHz, **a whole number of seconds**. Maximum 100 MB. Files above the configured threshold (30 MB by default) are optimized in the browser before upload — don't close the page until it finishes. Detailed requirements for server-side insertion — [Ad creative requirements](https://support.adaptek.tv/docs/ssai/creatives?lang=en). ### Do I have to upload the video every time? No. An uploaded creative appears in the advertiser's creative registry — you can pick it in a new campaign. The creative name must be unique for the advertiser and brand. ### Why the IAB category? The product category defines on which channels and in which breaks the creative is allowed, and is needed for review. Pick the most accurate category. Content review of the creative (rights, music, documents) is the advertiser's responsibility; the rights holder or sales house approves the creative separately. ## Reports ### Why is the report empty? A report is limited by your access: an advertiser sees only its own campaigns, a rights holder or OTT — the related inventory. Check the period, the active company, whether there are published campaigns and whether data has arrived from GAM. ### How do basic reports differ from advanced ones? **Basic** reports are built right under the form: a metric (impressions, reach, revenue), rows and columns for comparison, a period of up to three months. **Advanced** reports always create a file in the registry: more metrics and breakdowns (hour, device, region, city). The portal chooses the execution method itself — automatically, via an asynchronous GAM request or manually by the portal team. ### What do the icons in the report registry mean? ✅ ready · ⏳ queued · ❌ error · 🤖 automatic · ✋ manual · 🚩 flagged as defective · 🔗 a shared result of another requester. An identical request isn't duplicated — the ready result is added to your registry as shared. ### Why can't reach be counted for an arbitrary period? Reach is unique viewers; it can't simply be summed by day. For an arbitrary period it's calculated by a separate advanced request. ## Accounts and contacts ### How does an account differ from a contact? An account gives portal login, roles and access to companies. A contact is a record about a person in the company card; it may have no login. The contact form doesn't create an account: create the account first, then link it to the contact. ### How do I temporarily revoke access? Open the account, set the status to "Inactive" and save. Deleting isn't a way to revoke access temporarily: it deletes the account and frees the email, but doesn't delete the company or contacts. You can't delete or deactivate your own account. ## Video proofs ### What is a video proof? A screen recording while the video airs on a specific channel of an OTT provider plus frame-by-frame shots — confirmation for the advertiser that the ad really ran. The registry shows one row per creative and chips for the providers where it had impressions. Recording on most providers needs a browser extension; screen-recording permission is kept for subsequent recordings in the same window. --- # MCM — FAQ > Source: https://support.adaptek.tv/docs/mcm/faq?lang=en · Language: English · Product: GAM 360 · MCM · Access: public > > Briefly about the Google contract, timing, control, payouts and video. **Do I need my own contract with Google?** No. Adaptek has a direct agreement with Google Ireland Limited (GAM 360, AdX, MCM). There's no minimum traffic threshold for you. **How long does the launch take?** Google approval — usually a few days; full readiness — 2–4 weeks depending on complexity. Steps: [Publisher onboarding — 8 steps](https://support.adaptek.tv/docs/mcm/onboarding?lang=en). **Who controls my inventory?** It depends on the model: in Manage Account everything stays in your GAM, in Manage Inventory Adaptek runs the setup in its GAM 360. Comparison: [MCM models — Manage Account and Manage Inventory](https://support.adaptek.tv/docs/mcm/models?lang=en). Either way, direct orders don't go live without your approval. **How and when do I get paid?** In Manage Account — directly from Google. In Manage Inventory — from Adaptek, monthly, in EUR. Details: [Payouts, shares and reconciliation](https://support.adaptek.tv/docs/mcm/payments?lang=en). **Can CTV / OTT and live be monetized?** Yes — via the IMA/PAL SDK in the app or [SSAI.TV](https://support.adaptek.tv/docs/ssai?lang=en) server-side insertion. **Can I work with other partners at the same time?** In Manage Inventory — up to 15 parents at once. In Manage Account — only one. Parallel tags on the same inventory are possible with slot splitting or a passback cascade, but not as a single auction. **What happens if Google finds a violation?** Google may restrict the inventory and withhold payouts; the withholding is deducted from your payouts. That's why we check traffic before launch: [Policies, traffic quality and consent](https://support.adaptek.tv/docs/mcm/policies?lang=en). **Which markets do you work in?** Focus — Serbia, Greece, the Adriatic and the Balkans, Central Asia; Ukraine. ## Connecting inventory **What's needed to start?** Your GAM network code and the email of the administrator who will receive the invitation. We send the invitation the same day, you accept it in Ad Manager, and then Google reviews the delegation. In parallel, you fill in a workbook listing the sites and apps to register in our network and build ad units. Return the property identifiers (domains, app IDs) first — they unblock most of the work. An export from your own systems pasted into the workbook is perfectly fine. **Why a separate contract with Adaptek?** Google requires a direct contractual relationship between the parent network and the publisher whose inventory is delegated. The MCM service order is the basis for the delegation, not a commercial proposal; for inventory we represent, the Represented Inventory model applies. **Does Manage Inventory affect our direct sales?** No. Your network and direct sales stay as they are — only the inventory included in the delegation is delegated. **Can inventory be sold through deals in DV360?** Yes: Private Marketplace, Preferred Deals, Programmatic Guaranteed and Open Auction through Adaptek's AdX. Deals give pricing flexibility — for example, a seller or agency fee on top of the net inventory price. **Is MCM suitable for CTV with server-side insertion?** Yes, but Google buys such inventory only with client-side validation: the PAL SDK in the app ([Google PAL SDK for SSAI](https://support.adaptek.tv/docs/ssai/integration/pal-sdk?lang=en)) or an SDK-less mode that the Google manager enables for a specific network. --- # SSAI.TV — FAQ > Source: https://support.adaptek.tv/docs/ssai/faq?lang=en · Language: English · Product: SSAI.TV · Access: public · Updated: 2026-09-23 > > Answers to the questions OTT platforms, channels and ad ops ask most often — markers, integration, filling breaks, statistics, tracking. The questions come from real launches and are grouped by topic. If your question isn't here, [open a ticket](https://support.adaptek.tv/tickets/new?space=ssai&category=question). ## General ### Why is SSAI better than client-side insertion (CSAI)? Ads are part of the stream, so ad blockers don't see them (on the web they cut about 30% of CSAI ads). There's no stream break between content and ads, quality and loudness are the same, and you don't have to maintain an SDK for every platform. Comparison — [How SSAI.TV works](https://support.adaptek.tv/docs/ssai/how-it-works?lang=en). ### Do we need to change the player? No. The integration happens at the stream delivery level: the player receives ordinary HLS/DASH. It only needs to handle `#EXT-X-DISCONTINUITY` correctly at ad boundaries. Overlays and client-side tracking need a small amount of work — [Overlays (SSAI Overlay)](https://support.adaptek.tv/docs/ssai/integration/overlay?lang=en), [Client Side Tracking](https://support.adaptek.tv/docs/ssai/integration/client-side-tracking?lang=en). ### Which ad server is supported? Do we need our own ad platform? Your own platform isn't required: the solution includes an ad server/DSP where your team creates campaigns (dates, impressions or budget, targeting, frequency) and uploads videos — SSAI.TV does the rest. If you already have an ad server, we connect any that returns VAST 3+ and allows server-to-server requests, including Google Ad Manager / GAM 360 — [Technical requirements for ad servers](https://support.adaptek.tv/docs/ssai/integration/ad-server?lang=en), [Setting up Google Ad Manager for SSAI.TV](https://support.adaptek.tv/docs/ssai/integration/gam?lang=en). Several ad servers can be chained in a waterfall. How to set up campaigns — [Ad server campaigns for SSAI](https://support.adaptek.tv/docs/ssai/dsp-campaigns?lang=en). ### Is MPEG-DASH supported? Yes. The main scenario is HLS; DASH is connected per separate recommendations (the ad break is delivered as a separate Period). HLS and DASH often coexist: DASH/Widevine — Smart TVs, Android, web; HLS/FairPlay — Apple devices. You can start with the protocol that dominates your audience and add the other later — until then those viewers see the original stream without insertions. ### What are the HLS requirements? - Audio and video in the same segment (muxed). Separate audio tracks in the master playlist (demuxed renditions) aren't supported for SSAI — the player can't take audio for the ad. The way out: a single track or CMAF muxed. - `RESOLUTION` in the master playlist in `WIDTHxHEIGHT` format (e.g. `1920x1080`), both values even. - SCTE-35 markers in every sub-manifest — [Marker requirements in HLS](https://support.adaptek.tv/docs/ssai/integration/scte35?lang=en#вимоги-до-міток-у-hls). ### Does stitching affect quality and latency? No. The client still receives playlist segments gradually — some segments simply point to ads. Content and ads are served from the same OTT cache servers. Live latency is determined by the protocol (HLS/DASH) and the platform's CDN: different viewers of one channel naturally have different latency. ### What about DRM? SSAI works with the manifest and doesn't touch the content, so DRM on the content doesn't interfere. Ad segments are served unencrypted; the player must switch correctly between encrypted and unencrypted segments. If you use secure links or tokens in segment URLs, pass them in the request to SSAI so the links in the playlist keep working. ### Does it work with VOD and catch-up? Yes. In VOD, breaks are placed from the CMS media plan, by ad rules (VMAP) or at content joints — pre-rolls, mid-rolls, post-rolls. For catch-up (archive, pause, start over), ads are inserted the same way as in live if the recording keeps SCTE-35 markers (TS format, not MP4) and the recording's playlist request goes through SSAI. An archive stored in MP4 has no markers — a pre-roll at start suits it. ### How do ads work in FAST channels? FAST is a monetization model; technically it's an ordinary live channel. If the playout builds the channel from a VOD library, the playout places the markers: usually a pre-roll at the start of an episode and mid-rolls every 15 minutes. The Adaptek playout delivers ready HLS with markers — [Adaptek playout — API and HLS delivery](https://support.adaptek.tv/docs/ssai/playout?lang=en). ## SCTE-35 markers ### What are CUE-OUT and CUE-IN? CUE-OUT — leaving the programme for the ad (break start, contains the duration). CUE-IN — returning to the programme. In an SCTE-35 `splice_insert` marker this is the `out_of_network_flag`: `true` — start, `false` — return. ### What should the channel do? - Send SCTE-35 markers on a separate PID in the transport stream, with the exact break duration. - Place the marker on a keyframe (IDR) at a content joint, not "by timer" in the middle of a scene. - Have "advertising" bumpers and place markers inside them — then segmentation error falls on the bumper. Parameters — [SCTE-35 markers on the channel](https://support.adaptek.tv/docs/ssai/integration/scte35?lang=en), launch order — [Channel launch — checklist](https://support.adaptek.tv/docs/ssai/launch-checklist?lang=en). ### Where do markers come from and why might they be missing in HLS? A marker travels the chain: channel playout (SCTE-104 in SDI) → encoder (SCTE-35 on a separate PID) → distributor or teleport → OTT transcoder and packager → HLS/DASH → SSAI. Any link can drop it. If the stream doesn't even have the marker PID, an intermediate link stripped it — request the "version with markers". If the PID is there but the playlist has no markers, HLS marking (SCTE-35 passthrough / manifest decoration) isn't enabled in the OTT packager. ### The channel has several marker PIDs. Which one to use? The rights holder may split markers: some for linear ads, others for dynamic ones. SSAI uses only the agreed PID of dynamic breaks; other breaks must not be replaced. The OTT should keep only that PID in the stream for SSAI. It's better to filter markers once, upstream in the chain, than in a non-standard way at every OTT. ### Is a marker without duration a problem? Yes. The duration in CUE-OUT defines how many ads to pick: by the time the closing marker arrives, the break is over. If the channel can't send a duration, you can agree on a fixed break length — SSAI will substitute it. In the OTT packager, choose to end such breaks "by the closing marker", not "by duration". ### Do tone signals or QR-code markers work? Only as an intermediate step. SSAI works with SCTE-35 in the playlist: tone signals (DTMF), QR codes in the frame and the like must first be converted into SCTE-35 by the playout or a partner — before packaging, because the packager cuts segments at the marker when it meets SCTE-35. Recognizing video at every OTT is unreliable. ### How do we check that markers are present? - In the transport stream: `ffprobe ` — the stream list should include `Data: scte_35`. RTMP has no separate PMT table; markers go on a separate data track. - In the playlist: `#EXT-X-CUE-OUT`, `#EXT-X-DATERANGE`, `#EXT-OATCLS-SCTE35` tags and so on — [Marker formats in HLS](https://support.adaptek.tv/docs/ssai/integration/scte35?lang=en#формати-міток-у-hls). - In the SSAI.TV account, each source shows the caught markers and a status: no markers for over 4 hours or insertions impossible — red; markers lack tags but insertions are possible — yellow. Markers may be rare on a channel — for testing, ask the channel for a marker schedule several days ahead. ### Can ads be inserted without markers? In live — only forcibly on a schedule (for example, to test players), and the content is cut regardless of the plot. For VOD — pre-rolls and mid-rolls by duration or at content joints. SSAI doesn't insert ads "by the broadcast grid" or cue sheet — only by markers. ## OTT integration ### What's needed from the OTT platform? HLS (or DASH) with markers, reachable by SSAI.TV servers, and the SSAI playlist link for viewers instead of the original one. The viewer's IP, User-Agent and unique device ID are passed along with the playlist request — without them geo, frequency and reach don't work. Step by step — [Integration spec for OTT platforms](https://support.adaptek.tv/docs/ssai/integration/ott?lang=en). ### What does the stream link with ads look like? `https:///out//master.m3u8?uid={user_ID}&cdn={your_CDN}` — `uid` is mandatory, without it no ads are selected; `cdn` is substituted into content links. For catch-up — `.../vod//master.m3u8?src={recording_url}`. The host can be your own domain (CNAME) with SSAI.TV behind it. ### Why cache ads on our CDN? Under real load, ad segments must be served from the operator's CDN, just like content: `https:///creatives/* → https://cdn.ssai.tv/creatives/*`, cached for up to 7 days. If creatives are fetched for each viewer separately, freezes before ads are possible. Playlists aren't cached — they're personal. Details — [CDN — requirements for SSAI](https://support.adaptek.tv/docs/ssai/integration/cdn?lang=en). ### Which domains should we whitelist? The second-level domain `*.ssai.tv` — specific subdomains may change. Your manager will provide the IP addresses of the servers that fetch your origin. ### What happens if SSAI.TV is unavailable? The OTT switches the viewer to the original stream without ads — at session start, if no playlist was received from SSAI. Switching a viewer mid-session isn't a good idea: the playlists have different segment numbering, and the player may freeze. ### We redirect the playlist through our CDN. What should we watch for? - SSAI's requests for the original playlist must not be redirected back to SSAI, otherwise an infinite loop appears. Use a separate domain for the origin or a request parameter. - Don't hardcode a single SSAI domain or a single CDN node — they can change. - Pass the headers: IP (`X-Forwarded-For` / `X-Real-IP`), User-Agent and device ID. - The simplest scheme: the player gets the SSAI link directly and pulls segments from your CDN. ## Ads and filling the break ### What if there aren't enough ads for the whole break? The remainder is filled with a filler agreed with the channel. If ads are below the fillfloor threshold (50% of the break duration by default, configurable per channel), there's no insertion — the original programme runs. Long breaks (3 minutes and more) need several campaigns or placeholders, otherwise the break will rarely reach the threshold. ### What should the filler be like? Plotless and no shorter than 60 s — it's cut to the break remainder at an arbitrary point. A plot-driven video as a filler annoys viewers. An alternative is a set of promos of 1, 2, 3, 5, 10, 15, 20, 30 s. Evergreen promos are set up in the system and go only at the end of the break; time-limited ones the channel sets up as ordinary campaigns. ### How do we mark promos and public service ads? Add the `promo_` prefix to the creative name. Such videos don't get the "advertising" caption, aren't billed and are counted separately from commercial ones. ### Who overlays the channel logo and the "advertising" caption? SSAI.TV, automatically: on ads — the logo and "advertising", on promos and fillers — only the logo. If the channel delivers promos with the logo already on, we turn overlaying off for them. The channel provides its rules (graphics, loudness normalization) and the materials for them. ### Why doesn't a break contain two videos from one campaign? That's how DSPs work: only one winner per campaign gets into an ad break, to leave room for other advertisers. Several creatives in one profile (line item) will never end up in the same break. The same creative can win twice if it's in two different campaigns. ### When will a new creative go on air? After the ad server's first response with a new creative, SSAI.TV downloads, transcodes and checks it — that break runs without it. Subsequent responses are already inserted. How long this takes depends on the frequency of real breaks and viewer requests. ### The ad is louder than the content. What should we do? Creative loudness is normalized automatically per EBU R 128. If a particular video stands out, tell us its name: the creative will be re-transcoded, and the new version will appear in the next breaks. Requirements — [Ad creative requirements](https://support.adaptek.tv/docs/ssai/creatives?lang=en). ### Can we target a specific programme or genre? Yes, if the OTT passes the programme ID, genre or title in every request. SSAI.TV sets the channel genre itself. Adult/children's audience, paid/free subscriber and personalization consent signals work the same way: for example, age-restricted videos are shown only to devices with confirmed age. A programme ≠ a channel: programmes air at unpredictable times, so a signal in the request is what's needed. ### Why doesn't a tester see ads on a production channel? Targeting and frequency work in production: the tester may have used up the impression limit or not be in the target group. The "counter" can only be reset with another device. On test channels creatives are served unconditionally. Also, the channel must be turned on before the break starts: a viewer who joined mid-break sees the programme without insertion. ## Statistics and tracking ### What metrics does the account have? Inventory (person-breaks and their duration), impressions (count and seconds), fill rate, reach. Definitions, reports, CSV and API — [Statistics and reporting](https://support.adaptek.tv/docs/ssai/metrics?lang=en). ### Why don't the data match the TV broadcast? HLS has a latency of up to several minutes, and the viewer can pause or rewind. Each viewer's impression time is different, so a "broadcast second" makes no sense for OTT — reporting is aggregated by hour. ### How do we connect a third-party measurement vendor? Add the vendor's tracking pixel to the VAST (in the ad server campaign) — SSAI.TV fires all impression trackers from the VAST server-side, passing the viewer's IP, User-Agent and ID via macros. The tracker domain must be whitelisted in advance. VPAID and client-side measurement scripts don't work in CTV. If the vendor needs calls from the device itself — [Client Side Tracking](https://support.adaptek.tv/docs/ssai/integration/client-side-tracking?lang=en). ### Can we sell through Google programmatic? Yes, with the PAL SDK in the app: PAL creates a session that SSAI.TV passes into the request to Google — [Google PAL SDK for SSAI](https://support.adaptek.tv/docs/ssai/integration/pal-sdk?lang=en). Google doesn't accept server-side calls without client-side validation. Access to AdX without your own contract with Google — through an MCM partnership: [GAM 360 · MCM with Adaptek](https://support.adaptek.tv/docs/mcm?lang=en). ## Interactivity ### Is interactive advertising (SIMID) supported? Yes, in a hybrid scheme: the server stitches the video, and the app draws the interactive layer over the stream. SSAI.TV passes the app each ad's metadata: ID, start and duration within the break, tracking URLs, a link to the interactive file. For devices without SIMID support, the creative has a QR code or an end card. Details — [Interactive creatives (SIMID)](https://support.adaptek.tv/docs/ssai/integration/interactive-simid?lang=en). ### Can we show overlays? Yes. The client draws the overlay on a signal from SSAI.TV, so it doesn't overlap ad breaks — [Overlays (SSAI Overlay)](https://support.adaptek.tv/docs/ssai/integration/overlay?lang=en).