---
title: Неймінг задач і креативів
description: Як платформа складає назву задачі та кожної картки креативу — сегмент за сегментом і випадок за випадком.
---

*Для креативної команди й моушн-дизайнерів.* Тут — повний перелік того, яку назву
отримає задача і яку отримає кожна картка креативу: для кожного типу задачі, для
оригіналів старого зразка, для ланцюжків похідних крео і для тестового середовища.
Про самі поля картки — [Поля картки задачі](/guide/task-and-creative-fields-overview);
про те, коли назва блокується — [Статуси задач та блокування полів](/guide/task-statuses-and-naming-lock-overview).

> ⚠️ **Область дії:** усе нижче стосується задач із **Work Stream = Performance**.
> Задачі інших напрямів (Product, Web, Brand, SMM, HR) автоматизацію не проходять:
> у них немає ні згенерованої назви, ні автоматичних карток — назва задачі така, як
> її вписали руками, і це єдине обов'язкове поле.

## Навіщо це потрібно

Назву не вигадують — її складає платформа з тегів задачі. І складає так, щоб один
рядок однозначно описував крео: який продукт, який тип роботи, яке відео, якого
розміру, на яку локаль. Ця сама назва потім працює як ключ:

- нею називається файл на Google Drive, і саме за нею платформа знаходить готовий
  файл і чіпляє його до картки креативу;
- її ж вписують у рекламний кабінет, тож уся аналітика нижче за течією зведена
  саме на неї;
- за нею шукають крео в таблиці Creatives і в експортах.

Тому назва — не косметика: якщо файл названо інакше, ніж картку, зв'язок між ними
не встановиться.

## Дві назви, а не одна

| Що | Як виглядає | Де це видно |
|---|---|---|
| **Назва задачі** | `52_CNI_NEW_VID_US_EN` | заголовок картки задачі, назва папки на Google Drive |
| **Назва креативу** | `1-52_CNI_NEW_VID_1080x1920_US_EN` | картка креативу, назва файлу в папці |

Назва креативу — **не** назва задачі з префіксом: у неї є свій сегмент, якого в
назві задачі немає (**Resolution**). Задача називається тим, що вона замовляє;
розмір готового файлу — властивість того, що з неї виходить, тож він належить
картці, а не задачі.

## З чого складається назва

Сегменти йдуть у фіксованому порядку й розділені `_`.

| Сегмент | Що означає | Звідки береться |
|---|---|---|
| **Variation#** | Номер варіації всередині задачі: `1-`, `2-`, `3-` | Порядковий номер блоку Variations (для похідних типів — номер оригіналу) |
| **Task#** | Наскрізний номер задачі | Присвоюється автоматично при створенні задачі |
| **Product** | Продукт | Поле **Product** |
| **Task Type** | Тип роботи: `NEW`, `VAR`, `LOC`, `WHT`, `ADPT`, `RSZ`, … | Поле **Task Type** |
| **Media Type** | `VID`, `STA`, `ANI`, `WEB`, `LND`, `ENDC` | Поле **Media Type** |
| **Resolution** | Розмір готового файлу: `1080x1920`, `800x800`, … | Поле **Resolution** (**тільки в назві креативу**; для `LOC`/`WHT`/`ADPT` — з оригіналу) |
| **Geo** | Ринок: `US`, `FR`, … | Поле **Geo** (для похідних типів — з оригіналу) |
| **Language** | Мова: `EN`, `FR`, … | Поле **Language** (для похідних типів — з оригіналу) |

Порожній сегмент просто зникає — у назві не буде ні `None`, ні подвійного
підкреслення. Це стосується тільки пари **Geo**+**Language**: вона ходить разом і
є єдиною, якої в задачі може не бути (див. нижче). Решта сегментів обов'язкові —
без них автоматизація відмовить із повідомленням `Missing required fields`.

**Resolution нічим не підставляється за замовчуванням.** Поки розмір не обрано,
поле порожнє, і задача через **Ready for Production** не пройде: жодна картка не
має бути названа розміром, якого ніхто не називав. Виняток — `LOC`/`WHT`/`ADPT`,
у яких цього поля немає взагалі (розмір приходить з оригіналу).

## Назва задачі

```
{Task#}_{Product}_{TaskType}_{MediaType}[_{Geo}_{Language}]
```

| Тип задачі | Приклад назви | Чому так |
|---|---|---|
| `NEW`, `VAR`, `NEWDES`, `VARDES`, `DES`, `VARAI`, `CLN`, `LOC` | `52_CNI_NEW_VID_US_EN` | локаль задає сама задача |
| `WHT`, `ADPT`, `RSZ` | `45_CNI_WHT_VID` | локаль береться з оригіналу, тож у задачі її немає — і в назві теж |

**Ані Source, ані Resolution у назву задачі не входять.** Платформа, на яку йде
крео, не називається ніде (див. «Чого в назві немає»), а розмір — тільки в назві
креативу.

## Назва креативу: звичайні типи

Це типи, де крео роблять з нуля або як варіацію: `NEW`, `VAR`, `NEWDES`, `VARDES`,
`DES`, `VARAI`.

```
{Variation#}-{Task#}_{Product}_{TaskType}_{MediaType}_{Resolution}[_{Geo}_{Language}]

1-52_CNI_NEW_VID_1080x1920_US_EN
2-52_CNI_NEW_VID_1080x1920_US_EN
3-52_CNI_NEW_VID_1080x1920_US_EN
```

Карток буде рівно стільки, скільки стоїть у полі **Count**, і кожна отримає свій
номер варіації — від `1` до `Count`. Ці самі назви видно як заголовки блоків
**Variations** ще до збереження задачі; поки задача не збережена, замість номера
стоїть `#` (`1-#_CNI_NEW_VID_1080x1920_US_EN`) — номер з'явиться одразу після
збереження.

`CLN` карток не створює взагалі — назва задачі є, карток немає.

## Назва креативу: похідні типи (`LOC`, `WHT`, `ADPT`, `RSZ`)

Похідна задача робить нове крео **з уже наявного**. Тому вона бере не один
**Origin Creative**, а список **Source Creatives** — і робить рівно одну картку на
кожен оригінал у списку. Назва такої картки будується двома різними способами,
залежно від того, що це за оригінал.

### Випадок А — оригінал «сучасний»

Це оригінал, названий за цією ж конвенцією: або сама scratch-картка
(`1-52_CNI_NEW_VID_…`), або інша похідна картка, зроблена вже після переходу на
неї.

```
{Variation#}-{Task#} оригіналу_{Product}_{TaskType}_{MediaType}_{Resolution}_{Geo}_{Language}
```

Голова назви (`1-52`) береться з оригіналу — це і є трасування: по ній видно, з
якого саме крео все почалось. `Task Type` — **власний** тип задачі, не тип
оригіналу. Далі кожен тип міняє свою одну вісь:

| Тип | Що ця задача міняє | Resolution у назві | Geo + Language у назві | Приклад (оригінал `1-45_CNI_NEW_VID_1080x1920_US_EN`) |
|---|---|---|---|---|
| `LOC` | локаль | з оригіналу | **із задачі** — цільова локаль | `1-45_CNI_LOC_VID_1080x1920_FR_FR` |
| `WHT` | платформу (вайтенінг) | з оригіналу | з оригіналу | `1-45_CNI_WHT_VID_1080x1920_US_EN` |
| `ADPT` | платформу (адаптація) | з оригіналу | з оригіналу | `1-45_CNI_ADPT_VID_1080x1920_US_EN` |
| `RSZ` | розмір | **із задачі** — цільовий розмір | з оригіналу | `1-45_CNI_RSZ_VID_800x800_US_EN` |

> **Розмір у `LOC`/`WHT`/`ADPT` заповнювати не треба — його не питають.** Ці три
> типи пікселів не міняють, тож кожна картка отримує розмір **свого** оригіналу:
> вайтенінг `800x800` буде названо `800x800`, навіть якщо поруч у цій же задачі
> стоїть оригінал `1080x1920`. Поле **Resolution** у формі таких задач просто
> немає — воно є тільки в `RSZ`, де цільовий розмір і є роботою.

### Випадок Б — legacy-оригінал або назва, з якої нема що позичити

Якщо оригінал прийшов зі старої таблиці (позначений як legacy) або його назва
взагалі не починається з `{Variation#}-{Task#}_`, платформа назву не перебудовує.
Вона бере назву оригіналу **як є** і дописує в кінець ту вісь, яку задача змінює:

| Тип | Формула | Приклад |
|---|---|---|
| `LOC` | `{назва оригіналу}_{Geo}_{Language}` | `CoinIn_3150_9256_Var_Vid_9x16_Sell_FR_FR` |
| `WHT` | `{назва оригіналу}_{Source}` | `CoinIn_legacy_creative_APL` |
| `ADPT` | `{назва оригіналу}_{Source}` | `CoinIn_legacy_creative_TIK` |
| `RSZ` | `{назва оригіналу}_{Resolution}` | `CoinIn_legacy_creative_800x800` |

Це єдине місце, де **Source** взагалі з'являється в назві: у випадку Б немає й
сегмента `Task Type`, тож без дописки назва вайтенінгу дослівно збігалася б із
назвою крео, з якого його роблять.

### Ланцюжки похідних

Голова `{Variation#}-{Task#}` не змінюється по всьому ланцюжку, хоч би якою
довгою була історія:

```
1-52_CNI_NEW_VID_1080x1920_US_EN      ← вихідне крео
  → 1-52_CNI_LOC_VID_1080x1920_FR_FR   ← локалізація
     → 1-52_CNI_RSZ_VID_800x800_FR_FR  ← ресайз локалізації
```

Працює доти, доки кожна ланка — «сучасна» (випадок А). Щойно в ланцюжку
трапляється legacy-оригінал, далі йде випадок Б.

## Чого в назві немає — і чому

- **Source (платформа) не входить у жодну структуровану назву.** Тип задачі
  (`WHT`, `ADPT`) і так відрізняє картку від її оригіналу, а платформа лишається
  полем картки — за нею можна фільтрувати й вивантажувати. Виняток — випадок Б
  вище.
- **Resolution не входить у назву задачі** — тільки в назву креативу.
- **Aspect Ratio більше не входить нікуди.** Його замінив **Resolution**: саме лише
  `1x1` покриває `800x800`, `250x250` і `200x200`, тож три картки різного розміру
  отримували три однакові назви й дві з них платформа відхиляла. Розмір розрізняє
  те, чого співвідношення сторін розрізнити не могло.

**Старі назви з `_9x16_` лишаються як є.** Назва вже виданої картки — це те, як її
називає рекламний кабінет і на що зведена вся аналітика, тож ніхто її не
переписує. Новий сегмент діє для назв, що будуються від цього моменту.

## Назви в тестовому середовищі

На тестовому стенді до назви задачі, її папки на Drive і її scratch-карток
дописується `__develop`:

```
52_CNI_NEW_VID_US_EN__develop
1-52_CNI_NEW_VID_1080x1920_US_EN__develop
```

На бойовій платформі такого суфікса немає. Якщо він трапився в робочій таблиці —
це тестова задача, її не треба брати в роботу. У блоках Variations на тестовому
стенді суфікс теж видно — від Ready for Production назва в блоці береться зі
списку, який записав прогін, а не рахується наново.

## Коли назва фіксується

1. **Backlog** — назви ще немає (або вона розблокована для правки). Теги, з яких
   вона будується, редагуються.
2. **Ready for Production** — перехід сюди запускає автоматизацію: вона складає
   назву задачі, **планує назви всіх майбутніх карток** (блок Planned Creatives) і
   створює папку на Drive. Після цього теги, що входять у назву, закриваються.
3. **Done** — створюються самі картки, рівно з тими назвами, які були заплановані.
   Далі назва не змінюється ніколи.

Щоб перепланувати назви, задачу треба повернути в **Backlog**, виправити теги й
провести через **Ready for Production** ще раз. Якщо картки вже створені, спершу
доведеться видалити їх — інакше платформа відмовиться перепланувати.

Файли, які вже лежать у папці задачі під старими запланованими назвами,
автоматизація перейменовує сама — перезаливати їх не потрібно.

## Коли платформа відмовляє

Назви не роздаються за принципом «хто перший на Done» — їх бронює прогін
автоматизації. Тому відмова приходить одразу на **Ready for Production**, а задача
повертається в **Backlog** з поясненням.

| Повідомлення | Що це означає | Що робити |
|---|---|---|
| `These creative names are already taken` | Таку назву вже має існуючий креатив або її забронювала інша задача | Змінити теги, щоб назва стала іншою, або узгодити з тим, хто тримає бронь |
| `This task would generate the same name twice` | Дві картки **всередині однієї задачі** склали однакову назву | Перевірити Source Creatives: найчастіше два оригінали дають один префікс |
| `… already covers …` | У цього оригіналу вже є похідна картка з тією самою ціллю (та сама локаль для `LOC`, та сама платформа для `WHT`/`ADPT`, той самий розмір для `RSZ`) | Вибрати іншу ціль або інший оригінал — робота вже зроблена |
| `… is already 800x800 — nothing to resize` | `RSZ` у розмір, у якому оригінал уже є | Поставити інший цільовий Resolution |
| `Missing required fields: …` | Не заповнений тег, який входить у назву | Дозаповнити й спробувати ще раз |

**Відомий випадок, який потребує ручної назви:** дві `WHT` (або дві `ADPT`) задачі
від **одного сучасного оригіналу** на **різні платформи**. Платформа в
структуровану назву не входить, а тип задачі в них однаковий — отже, назва
виходить одна й та сама, і другу задачу платформа відхилить. Для legacy-оригіналів
цього не буває (там дописується Source), для `RSZ` — теж (розмір у назві є, тож
два ресайзи в різні розміри розходяться самі).

## Часті питання

**Чи можна вписати назву руками?**
Для Performance-задачі — ні, сенсу немає: автоматизація перезапише поле **Name**
своєю згенерованою назвою. Впливати на назву можна тільки через теги.

**Чому у двох карток однієї задачі різні номери, а голова однакова?**
Голова — це «звідки крео», номер — «яка це варіація». `1-52` і `2-52` — дві
варіації однієї задачі 52.

**Чому в назві `WHT`-картки стоїть `US_EN`, хоча в задачі локалі немає?**
Бо вайтенінг не міняє локаль — вона береться з оригіналу. У назві задачі її немає,
у назві картки вона є. З розміром так само: `LOC`/`WHT`/`ADPT` беруть його з
оригіналу, і в їхній формі поля **Resolution** немає взагалі.

**Я перейменував файл на Drive — що буде?**
Платформа шукає файл за точним збігом назви з карткою. Перейменований файл до
картки не причепиться. Назви зручно копіювати кнопкою 📋 біля кожної назви —
у заголовку картки, у списку Planned Creatives і в блоках Variations.

**Що з крео, імпортованими зі старих таблиць?**
Вони лишаються під своїми історичними назвами. Нове крео від них будується за
випадком Б вище.

## Куди звертатися

Якщо назва вийшла не така, як очікувалось, або автоматизація відхиляє задачу без
зрозумілої причини — пиши в канал команди платформи, доклавши номер задачі.
Технічний опис конвенції (для розробників) — [Воркфлоу задач](/backend/workflow).
