Telemetrie etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Telemetrie etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

21 Eylül 2026 Pazartesi

De la capcana CPI la jucători cu retenție ridicată: Scalarea jocurilor mobile cu acțiuni în aplicație Firebase și Google Ads (UAC 2.0)

De la capcana CPI la jucători cu retenție ridicată: Scalarea jocurilor mobile cu acțiuni în aplicație Firebase și Google Ads (UAC 2.0)

Fiecare dezvoltator independent de jocuri (indie) care lansează un titlu mobil se confruntă, mai devreme sau mai târziu, cu Paradoxul Cost-Per-Install (CPI):

Lansați o campanie plătită de achiziție de utilizatori (UA), sărbătoriți un aflux de descărcări ieftine și priviți cum contorul de instalări din Google Play crește. Dar când deschideți panoul de analiză 48 de ore mai târziu, realitatea dură își face simțită prezența:

1.000 de instalări ──► 500 de dezinstalări imediate (< 2 min) ──► 50 de finalizări ale Nivelului 1 ──► 5 jucători fideli

Peste 50% dintre utilizatorii dobândiți au șters jocul înainte de a termina măcar primul nivel.

Dacă derulați o Campanie standard Google Ads pentru aplicații axată pe instalări (UAC 1.0) cu licitare simplă CPI, algoritmul de învățare automată Google face exact ceea ce i-ați cerut: să găsească cei mai ieftini utilizatori posibili care să apese pe „Instalează” în Google Play. Din păcate, cei mai ieftini utilizatori din rețeaua publicitară sunt adesea vânători de reclame cu recompensă, persoane care apasă din greșeală sau conturi asemănătoare boților care nu au nicio intenție să joace jocul.

În acest articol, împărtășim arhitectura noastră reală de inginerie și marketing aplicată jocului nostru dinamic retro de acțiune cu tancuri, Blocked: Pixel Panzer (dezvoltat cu MonoGame și C# de Arar Games). Vom explora modul în care am conectat telemetria la nivel de dispozitiv cu Google Analytics 4 (GA4) și Campaniile Google Ads pentru aplicații optimizate pe acțiuni în aplicație (UAC 2.0) pentru a opri cumpărarea de descărcări inutile și a începe să atragem jucători dedicați, cu o retenție ridicată.


1. Diagnosticarea pâlniei: Ce ne-au învățat datele analitice în direct

Înainte de a cheltui un singur dolar pe rețelele de publicitate, trebuie să știți unde renunță jucătorii.

În Blocked: Pixel Panzer, sistemul nostru de telemetrie înregistrează asincron ciclurile de viață ale jocului direct în Firebase:

  • first_open
  • screen_view (urmărirea a peste 40 de ecrane personalizate MonoGame)
  • level_completed (cu parametrii level_number, score, duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (semnal nativ de dezinstalare primit de la sistemul de operare)

Când am analizat sesiunile dezinstalate în raportul Explorare a căii (Path Exploration) din GA4, datele au fost categorice:

  • Din 63 de dispozitive dezinstalate examinate, aproximativ 30 de utilizatori au șters jocul înainte de a finaliza Nivelul 1.
  • 14 utilizatori au renunțat imediat după ce și-au îmbunătățit primele abilități în bucla de gameplay.
  • Progresul maxim atins în rândul utilizatorilor care au renunțat a fost Nivelul 10 (primul Boss de lume).
[ Instalări utilizatori ] 
       │
       ├──► 48% Rata de abandon: Ștergere înainte de finalizarea Nivelului 1 <── (Zona de risipă CPI)
       │
       ├──► 30% Interacțiune: Îmbunătățirea abilităților și atingerea Nivelurilor 2-3
       │
       └──► 22% Baza fidelă: Atingerea Boss-ului (Nivelul 10) și a meta-jocului

Concluzia a fost incontestabilă: Să plătești pentru instalări brute înseamnă să arunci banii direct în zona de abandon.

Pentru a construi o economie sustenabilă a jocului, modelul nostru de licitare publicitară trebuia să se optimizeze pentru utilizatorii al căror profil comportamental se potrivește cu jucătorii care cuceresc într-adevăr Nivelul 1 și progresează spre Nivelul 3.


2. Mecanica UAC 2.0: Optimizarea pentru acțiuni în aplicație

Campaniile Google Ads pentru aplicații (Universal App Campaigns) oferă modele distincte de optimizare:

Model de campanie Focalizare licitare Ce învață algoritmul Cel mai potrivit pentru
UAC 1.0 (Instalări) Maximizarea numărului de instalări / Target CPI Profiluri de utilizatori care instalează frecvent aplicații noi Lansare timpurie pe magazin, creștere de volum
UAC 2.0 (Acțiuni în aplicație) Target CPA (Cost-pe-Acțiune) Profiluri de utilizatori susceptibili să atingă o etapă specifică din joc Retenție sustenabilă, creșterea meta-jocului
UAC 2.5 (Valoare / ROAS) Target ROAS Profiluri de jucători cu cheltuieli mari (balene) Jocuri cu monetizare puternică prin achiziții în aplicație

În cadrul UAC 2.0 (Acțiuni în aplicație), setați un Target CPA (Cost-pe-acțiune vizat) – de exemplu, 0,20 $ per finalizare a Nivelului 1.

Rețeaua neuronală de licitare inteligentă (Smart Bidding) a Google analizează apoi sute de semnale comportamentale pe Google Play, YouTube, Căutarea Google și milioane de aplicații din Rețeaua de display Google (AdMob). Aceasta licitează agresiv numai atunci când afișarea unui anunț corespunde unui utilizator ale cărui obiceiuri istorice indică faptul că va descărca jocul, va trece de tutorial și va termina Nivelul 1.


3. Implementare pas cu pas: De la telemetria C# la Google Ads

Iată procedura tehnică exactă pe care am folosit-o pentru a transforma realizările din joc în obiective de conversie publicitară măsurabile.

Pasul 1: Cârligul de telemetrie pe dispozitiv (MonoGame / C#)

În Blocked.Shared/Managers/AnalyticsManager.cs, ori de câte ori jucătorul curăță o zonă de luptă, jocul calculează scorul, daunele și timpul, apoi trimite level_completed fără a bloca firul de randare la 60 FPS:

public static void LogLevelCompleted(int level, int score, int totalScore, string rank,
                                     int durationSeconds, int damageTaken,
                                     int blocksBroken, int enemiesKilled, int suppliesCollected)
{
    try
    {
        _payload.Clear();
        _payload[AnalyticsParams.LevelNumber] = level;
        _payload[AnalyticsParams.Score] = score;
        _payload[AnalyticsParams.TotalScore] = totalScore;
        _payload[AnalyticsParams.DurationSeconds] = durationSeconds;
        _payload[AnalyticsParams.IsBoss] = IsBossLevel(level) ? 1 : 0;
        
        // Trimite către Android Firebase SDK prin JNI (buffer SQLite non-blocant)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemetria nu trebuie să provoace niciodată blocarea jocului
        Warn(ex);
    }
}

Pasul 2: Sinteza evenimentelor personalizate în GA4 (Fără actualizare a aplicației)

Google Ads nu poate licita direct pe interogări secundare de parametri precum level_completed WHERE level_number == 1 în mod implicit. Totuși, Google Analytics 4 vă permite să sintetizați evenimente personalizate în timp real din telemetria primită, fără a fi nevoie să publicați o actualizare în magazinul de aplicații:

  1. În consola GA4, navigați la Admin ➔ Afișarea datelor ➔ Evenimente.
  2. Faceți clic pe Creați un eveniment și configurați:
    • Nume eveniment personalizat: level_1_completed
    • Condiții de potrivire:
      • event_name este egal cu level_completed
      • level_number este egal cu 1
    • Bifați „Copiați parametrii din evenimentul sursă” pentru a păstra scorul și valorile sesiunii.
  3. Salvați configurația.
  4. În fila Evenimente sau Evenimente-cheie (Key events), găsiți level_1_completed și comutați comutatorul „Marcați ca eveniment-cheie” pe activ.

Acum, ori de câte ori un jucător din lume trece de Nivelul 1, GA4 generează automat un eveniment de conversie dedicat: level_1_completed.

Pasul 3: Importarea acțiunilor de conversie în Google Ads

  1. Deschideți Google Ads (ads.google.com).
  2. Navigați la Obiective ➔ Conversii ➔ Rezumat.
  3. Faceți clic pe Acțiune nouă de conversie ➔ Importați ➔ Proprietăți Google Analytics 4 (Firebase).
  4. Selectați level_1_completed din listă.
  5. Setați categoria la Interacțiune sau Nivel atins.
  6. Setați acțiunea de conversie ca Principală (Primary), astfel încât Smart Bidding să se optimizeze activ spre ea.
[ Joc mobil: Nivelul 1 finalizat ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ Motorul Firebase Analytics ]
                │
                │  Regulă GA4: Sintetizează "level_1_completed"
                ▼
[ Eveniment-cheie GA4 (Conversie) ]
                │
                │  Integrare conectată Google Ads
                ▼
[ Motorul Smart Bidding Google Ads (UAC 2.0 Target CPA) ]

4. Depășirea problemei pornirii la rece: Strategia pâlniei

O greșeală frecventă pe care dezvoltatorii independenți o fac atunci când trec la UAC 2.0 este să vizeze o etapă prea avansată din joc mult prea devreme.

Regula de volum a învățării automate

Algoritmii Google Ads Smart Bidding necesită un prag statistic minim pentru a se instrui eficient:

  • Regula de aur: O campanie ar trebui să genereze cel puțin 10 până la 20 de conversii țintă în aplicație pe zi pentru a ieși din faza de învățare („Learning Phase”) și a atinge eficiența optimă a licitării.

În auditul nostru analitic inițial, creaserăm o audiență numită Quality_Players_Level_3 (jucători care au trecut de Nivelul 3 sau mai mult), care acumulase 17 jucători.

Dacă am fi lansat o campanie care viza direct Nivelul 3:

  • Generarea a 15 conversii zilnice de Nivel 3 ar fi necesitat un buget inițial masiv de publicitate.
  • Cu doar 17 mostre istorice, eșantionul de public similar (lookalike) pentru algoritm era prea îngust, riscând fluctuații mari de preț sau oprirea difuzării („Too small to serve”).

Soluția bisturiului în două etape

În locul unei abordări de tipul „totul sau nimic”, am adoptat o pâlnie etapizată:

flowchart TD
    A["Etapa 1: Scalare Level 1 Completed"] --> B["Atrage jucători implicați la un Target CPA redus"]
    B --> C["Filtrează 100% din instalările inactive din zona de abandon"]
    C --> D["Completează audiența 'Quality_Players_Level_3' (100+ jucători)"]
    D --> E["Etapa 2: Comutare Target CPA la Nivelul 3 / Îmbunătățiri abilități"]
  1. Etapa 1 (Volum și igienă): Optimizare pentru level_1_completed. Deoarece ~50-60% dintre jucătorii reali pot finaliza Nivelul 1, campania obține cu ușurință peste 20 de conversii zilnice la un Target CPA scăzut (~0,15 \(- 0,25\)). Acest lucru elimină instantaneu fermele de instalări fără valoare și construiește o bază activă de utilizatori.
  2. Etapa 2 (Rafinare): Pe măsură ce sute de jucători termină Nivelul 1, un procent constant avansează în mod natural spre Nivelurile 3, 5 și 10. Odată ce grupul de audiență Quality_Players_Level_3 depășește 100-200 de utilizatori activi, obiectivul campaniei poate fi mutat în siguranță pe Nivelul 3 sau pe etapele de meta-joc (skill_upgraded) pentru o valoare maximă pe durata de viață (LTV).

5. Selectarea pieței și arbitrajul geografic

Licitarea pe piețele Tier-1 (SUA, Marea Britanie, Germania) cu o campanie necalibrată poate epuiza bugetele indie modeste în doar câteva ore (1,50 \(- 4,00\) per acțiune).

Pentru testul nostru inițial UAC 2.0 cu Blocked: Pixel Panzer, am selectat un grup strategic de patru piețe cu volum mare, costuri eficiente și o comunitate bogată de gameri:

  1. Turcia (TR): O bază locală puternică de jucători, un atașament ridicat față de jocurile arcade/acțiune și costuri mici de achiziție.
  2. Brazilia (BR): Una dintre cele mai mari piețe de jocuri Android din lume. Jucătorii mobili brazilieni au o pasiune uriașă pentru estetica retro și luptele arcade.
  3. Mexic (MX): Al doilea hub de gaming ca mărime din America Latină, oferind un volum dens și comunități loiale de jucători.
  4. Polonia (PL): Un mediu european ideal de testare – venituri AdMob eCPM considerabil mai mari decât în America de Sud, dar la costuri de achiziție a utilizatorilor substanțial mai mici decât în Europa de Vest.

Localizarea nativă: Multiplicatorul secret

Rularea reclamelor pe piețele internaționale convertește doar dacă experiența din joc se potrivește cu pagina magazinului. În Blocked: Pixel Panzer, toate cele patru piețe sunt susținute de o localizare nativă încă de la lansare:

  • tr.json (turcă)
  • pt-BR.json (portugheză braziliană)
  • es-419.json (spaniolă din America Latină)
  • pl.json (poloneză)

Când un jucător din São Paulo sau Varșovia apasă pe o reclamă, instalează jocul și aude/vede limba sa maternă imediat la lansare, imersiunea este instantanee – sporind considerabil ratele de finalizare a Nivelului 1.

Sfat util pentru direcționarea geografică: În setările de locație din Google Ads, schimbați întotdeauna opțiunea implicită „Prezență sau interes” la „Prezență: persoane aflate în locațiile dvs. vizate sau care merg frecvent acolo”. Acest lucru asigură că bugetul dvs. este cheltuit exclusiv pe utilizatori care locuiesc fizic în țările țintă, eliminând traficul generat de rețele VPN sau căutări fără legătură.


6. Materiale publicitare: De ce videoclipul multiplică și nu canibalizează niciodată

La asamblarea grupurilor de creații Google Ads, dezvoltatorii se întreabă adesea: „Dacă adaug un videoclip cu gameplay, va umbri capturile de ecran finisate?”

Răspunsul este un nu categoric. Google Ads operează pe inventare multi-canal complet distincte:

  • Titluri și capturi de ecran: Domină rezultatele căutării din Google Play, caruselele de aplicații recomandate și rețelele de bannere publicitare.
  • Video: Deblochează inventarul masiv de YouTube Shorts, reclame video pre-roll și plasamente video cu recompensă (rewarded video) din alte jocuri mobile populare.

În jocurile cu acțiune intensă precum Blocked: Pixel Panzer, capturile de ecran statice pot ilustra grafica pixel art, însă doar videoclipul poate transmite senzația de a te feri de ploaia de gloanțe („bullet-hell”), de a declanșa reacții explozive în lanț și de a distruge avioane de luptă inamice.

Jucătorii care instalează după ce au vizionat videoclipuri autentice din joc înțeleg deja comenzile și mecanica. În consecință, rata lor de conversie pentru level_1_completed este considerabil mai mare decât a utilizatorilor dobândiți exclusiv prin grafică statică.


7. Listă de verificare rezumativă pentru dezvoltatori independenți

Înainte de a lansa următoarea campanie publicitară pentru jocul dvs. mobil, parcurgeți această listă de verificare arhitecturală:

  • Verificați telemetria din joc: Asigurați-vă că level_completed și reperele de nivel sunt înregistrate cu parametri clari și zero alocări de Garbage Collector pe firul principal de randare.
  • Sintetizați evenimentele-cheie în GA4: Creați evenimente dedicate (cum ar fi level_1_completed) și marcați-le drept evenimente-cheie în GA4.
  • Importați în Google Ads: Conectați Firebase și Google Ads, importați acțiunea și setați-o ca principală.
  • Focalizarea licitării: Alegeți Acțiuni în aplicație (Target CPA) în loc de volumul brut de instalări.
  • Calibrați CPA-ul inițial: Setați Target CPA realiste (0,15 \(- 0,30\) în funcție de nivelul țărilor țintă) și lăsați cel puțin 3-4 zile de învățare automată neîntreruptă.
  • Etapizați pâlnia: Începeți cu un reper timpuriu și accesibil (Nivelul 1) pentru a construi viteza de conversie, apoi treceți la obiective de progres mai profunde.

Trecând de la mentalitatea de „a cumpăra descărcări” la „a cumpăra etape de joc atinse”, transformați publicitatea dintr-o cheltuială imprevizibilă într-un motor de creștere repetabil, cu o retenție ridicată a jucătorilor.


Scris de echipa de inginerie de la Arar Games / Mayhemco (creatorii Paint Trek și Blocked: Pixel Panzer). Descoperiți Blocked: Pixel Panzer pe Google Play pentru a experimenta direct luptele noastre arcade retro pline de energie.


Hashtags & SEO Topics

#BlockedPixelPanzer #ArarGames #Mayhemco #PaintTrek #MonoGame #GoogleAds #FirebaseAnalytics #GA4 #MobileGameDev #UserAcquisition #GameMarketing #SmartBidding #TargetCPA #InAppActions #IndieGameDev #GameAnalytics #AndroidDev

Od pasti CPI k hráčům s vysokou retencí: Škálování mobilních her pomocí akcí v aplikaci ve Firebase a Google Ads (UAC 2.0)

Od pasti CPI k hráčům s vysokou retencí: Škálování mobilních her pomocí akcí v aplikaci ve Firebase a Google Ads (UAC 2.0)

Každý nezávislý herní vývojář, který vydává mobilní titul, dříve či později narazí na paradox ceny za instalaci (CPI):

Spustíte placenou kampaň pro akvizici uživatelů (UA), oslavujete záplavu levných stažení a sledujete, jak počítadlo instalací v Google Play stoupá. Když však o 48 hodin později otevřete analytický panel, zasáhne vás tvrdá realita:

1 000 instalací ──► 500 okamžitých odinstalací (< 2 min) ──► 50 dokončení 1. úrovně ──► 5 udržených hráčů

Více než 50 % získaných uživatelů smazalo hru ještě před dokončením úplně první úrovně.

Pokud provozujete standardní kampaň Google Ads pro instalace aplikace (UAC 1.0) se základním nabízením CPI, algoritmus strojového učení Google dělá přesně to, co jste mu zadali: najít nejlevnější možné uživatele, kteří klepnou na „Instalovat“ v Google Play. Nejlevnější uživatelé v reklamní síti jsou bohužel často lovci odměn za reklamy, náhodní klikající nebo účty blízké botům, kteří nikdy nemají v úmyslu se do hry zapojit.

V tomto článku sdílíme naši reálnou inženýrskou a marketingovou architekturu z naší rychlé retro tankové akční hry Blocked: Pixel Panzer (vyvinuté v MonoGame a C# společností Arar Games). Prozkoumáme, jak jsme propojili telemetrii na straně zařízení s Google Analytics 4 (GA4) a kampaněmi Google Ads pro akce v aplikaci (UAC 2.0), abychom přestali kupovat prázdné instalace a začali získávat oddané hráče s vysokou mírou retence.


1. Diagnostika konverzního trychtýře: Co nás naučila živá analytika

Než utratíte jediný dolar v reklamních sítích, musíte vědět, kde hráči odpadávají.

Ve hře Blocked: Pixel Panzer naše telemetrie asynchronně zaznamenává klíčové herní životní cykly do Firebase:

  • first_open
  • screen_view (sledování více než 40 vlastních obrazovek MonoGame)
  • level_completed (s parametry level_number, score, duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (nativní signál odinstalace z operačního systému)

Při analýze relací s odinstalací v průzkumu cest (Path Exploration) v GA4 byla data neúprosná:

  • Ze 63 zkoumaných odinstalovaných zařízení přibližně 30 uživatelů hru odinstalovalo dříve, než vůbec dokončili 1. úroveň.
  • 14 uživatelů odešlo hned poté, co vylepšili své počáteční dovednosti v herní smyčce.
  • Maximální dosažený postup mezi odchozími uživateli byla 10. úroveň (první světový boss).
[ Instalace uživatelů ] 
       │
       ├──► 48% odchod (churn): Konec před dokončením 1. úrovně <── (Zóna plýtvání CPI)
       │
       ├──► 30% zapojení: Vylepšení dovedností a dosažení úrovně 2–3
       │
       └──► 22% klíčová retence: Dosažení Bosse (10. úroveň) a meta-hry

Závěr byl neoddiskutovatelný: Platit za surové instalace znamená házet peníze do zóny odchodu.

Abychom vybudovali udržitelnou herní ekonomiku, náš model nabídek v reklamách potřeboval optimalizovat na uživatele, jejichž behaviorální profil odpovídá hráčům, kteří skutečně pokoří 1. úroveň a pokračují směrem ke 3. úrovni.


2. Mechanika UAC 2.0: Optimalizace pro akce v aplikaci

Kampaně Google Ads pro aplikace (Universal App Campaigns) přicházejí v odlišných optimalizačních variantách:

Model kampaně Zaměření nabídek Co se algoritmus učí Nejlepší pro
UAC 1.0 (Instalace) Maximalizace instalací / Target CPI Profily uživatelů, kteří často instalují nové aplikace Rané uvedení v obchodě, nárůst objemu
UAC 2.0 (Akce v aplikaci) Target CPA (Cena za akci) Profily uživatelů s pravděpodobností dokončení konkrétního herního milníku Udržitelná retence, růst meta-hry
UAC 2.5 (Hodnota / ROAS) Target ROAS Profily hráčů s vysokými útratami (velryby) Hry se silnou monetizací přes nákupy v aplikaci

V rámci UAC 2.0 (akce v aplikaci) nastavíte cílovou cenu za akci (Target CPA) – například 0,20 $ za dokončení 1. úrovně.

Neuronová síť chytrého nabízení cen (Smart Bidding) od Google pak analyzuje stovky behaviorálních signálů v Google Play, YouTube, Vyhledávání Google a milionech aplikací v Obsahové síti Google (AdMob). Přihazuje agresivně pouze tehdy, když zobrazení reklamy odpovídá uživateli, jehož historické návyky naznačují, že hru stáhne, projde tutoriálem a dokončí 1. úroveň.


3. Implementace krok za krokem: Od telemetrie v C# ke Google Ads

Zde je přesný technický postup, kterým jsme herní úspěchy proměnili v měřitelné reklamní konverzní cíle.

Krok 1: Záchytný bod telemetrie na straně zařízení (MonoGame / C#)

V Blocked.Shared/Managers/AnalyticsManager.cs, kdykoli hráč vyčistí bojovou zónu, hra vypočítá skóre, poškození a čas, a poté odešle level_completed, aniž by blokovala 60 FPS vlákno vykreslování:

public static void LogLevelCompleted(int level, int score, int totalScore, string rank,
                                     int durationSeconds, int damageTaken,
                                     int blocksBroken, int enemiesKilled, int suppliesCollected)
{
    try
    {
        _payload.Clear();
        _payload[AnalyticsParams.LevelNumber] = level;
        _payload[AnalyticsParams.Score] = score;
        _payload[AnalyticsParams.TotalScore] = totalScore;
        _payload[AnalyticsParams.DurationSeconds] = durationSeconds;
        _payload[AnalyticsParams.IsBoss] = IsBossLevel(level) ? 1 : 0;
        
        // Odeslání do Android Firebase SDK přes JNI (neblokující SQLite buffer)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemetrie nesmí nikdy způsobit pád hry
        Warn(ex);
    }
}

Krok 2: Syntéza událostí v GA4 (bez nutnosti aktualizace klientské aplikace)

Google Ads nemůže ve výchozím stavu přímo nabízet ceny na základě dílčích dotazů na parametry jako level_completed WHERE level_number == 1. Google Analytics 4 však umožňuje syntetizovat vlastní události v reálném čase z příchozí telemetrie, aniž byste museli vydávat aktualizaci v obchodě s aplikacemi:

  1. V konzoli GA4 přejděte na Správce ➔ Zobrazení dat ➔ Události.
  2. Klikněte na Vytvořit událost a nakonfigurujte:
    • Název vlastní události: level_1_completed
    • Podmínky shody:
      • event_name rovná se level_completed
      • level_number rovná se 1
    • Zaškrtněte „Kopírovat parametry ze zdrojové události“, aby se zachovalo skóre a metriky relace.
  3. Uložte konfiguraci.
  4. Na kartě Události nebo Klíčové události vyhledejte level_1_completed a přepněte „Označit jako klíčovou událost“ na aktivní.

Nyní, kdykoli jakýkoli hráč na světě překoná 1. úroveň, GA4 automaticky vygeneruje vyhrazenou konverzní událost level_1_completed.

Krok 3: Import konverzních akcí do Google Ads

  1. Otevřete Google Ads (ads.google.com).
  2. Přejděte na Cíle ➔ Konverze ➔ Souhrn.
  3. Klikněte na Nová konverzní akce ➔ Importovat ➔ Vlastnosti Google Analytics 4 (Firebase).
  4. Ze seznamu vyberte level_1_completed.
  5. Nastavte kategorii na Interakce nebo Dosažená úroveň.
  6. Nastavte konverzní akci jako Primární, aby na ni Smart Bidding aktivně optimalizoval.
[ Mobilní hra: 1. úroveň dokončena ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ Engine Firebase Analytics ]
                │
                │  Pravidlo GA4: Syntetizovat "level_1_completed"
                ▼
[ Klíčová událost GA4 (Konverze) ]
                │
                │  Propojená integrace Google Ads
                ▼
[ Engine Smart Bidding Google Ads (UAC 2.0 Target CPA) ]

4. Překonání problému studeného startu: Strategie konverzního trychtýře

Častou chybou, kterou nezávislí vývojáři dělají při přechodu na UAC 2.0, je míření příliš hluboko do hry v příliš rané fázi.

Pravidlo objemu pro strojové učení

Algoritmy Smart Bidding v Google Ads vyžadují minimální statistický práh pro efektivní trénování:

  • Zlaté pravidlo: Kampaň by měla generovat alespoň 10 až 20 cílových konverzí v aplikaci denně, aby opustila fázi učení („Learning Phase“) a dosáhla optimální efektivity nabízení cen.

Při našem počátečním auditu analytiky jsme vytvořili publikum s názvem Quality_Players_Level_3 (hráči, kteří dokončili 3. nebo vyšší úroveň), které nashromáždilo 17 hráčů.

Kdybychom spustili kampaň cílící na 3. úroveň okamžitě:

  • Generování 15 konverzí na 3. úrovni denně by vyžadovalo masivní počáteční výdaje na reklamu.
  • S pouhými 17 historickými vzorky byla velikost podobného publika (lookalike) pro algoritmus příliš úzká, což hrozilo nestálými cenovými výkyvy nebo nulovým zobrazováním („Too small to serve“).

Dvoufázové škálovací řešení

Místo přístupu „všechno nebo nic“ jsme zvolili fázovaný trychtýř:

flowchart TD
    A["1. fáze: Škálování Level 1 Completed"] --> B["Získává zapojené hráče při nízké Target CPA"]
    B --> C["Filtruje 100 % nehrajících instalací v zóně odchodu"]
    C --> D["Naplňuje publikum 'Quality_Players_Level_3' (100+ hráčů)"]
    D --> E["2. fáze: Posun Target CPA na 3. úroveň / Vylepšení schopností"]
  1. 1. fáze (Objem a hygiena): Optimalizace na level_1_completed. Vzhledem k tomu, že ~50–60 % skutečných hráčů dokáže porazit 1. úroveň, kampaň snadno zajistí 20+ konverzí denně při nízké Target CPA (~0,15 \(– 0,25\)). Tím se okamžitě vyřadí nekvalitní farmy instalací a zároveň se vybuduje aktivní uživatelská základna.
  2. 2. fáze (Zpřesnění): Jakmile stovky hráčů dokončí 1. úroveň, stabilní procento přirozeně postoupí na úroveň 3, 5 a 10. Když fond publika Quality_Players_Level_3 překročí 100–200 aktivních uživatelů, cíl kampaně může bezpečně přejít na 3. úroveň nebo na milníky meta-hry (skill_upgraded) pro dosažení maximální celoživotní hodnoty (LTV).

5. Výběr trhu a geografická arbitráž

Přihazování na trzích Tier-1 (USA, Spojené království, Německo) s nezkalibrovanou kampaní může vyčerpat malé nezávislé rozpočty během několika hodin (1,50 \(– 4,00\) za akci).

Pro náš počáteční testovací běh UAC 2.0 hry Blocked: Pixel Panzer jsme vybrali strategickou skupinu čtyř velkoobjemových, nákladově efektivních trhů bohatých na hráče:

  1. Turecko (TR): Silná místní hráčská základna, vysoké zapojení do arkádových/akčních titulů a nízké akviziční náklady.
  2. Brazílie (BR): Jeden z největších trhů pro Android hry na světě. Brazilští mobilní hráči mají obrovskou vášeň pro retro estetiku a arkádové souboje.
  3. Mexiko (MX): Druhé největší herní centrum Latinské Ameriky, které nabízí vysoký objem a loajální hráčské komunity.
  4. Polsko (PL): Ideální evropské testovací prostředí – výrazně vyšší monetizace eCPM v AdMob než v Jižní Americe, přesto podstatně nižší náklady na akvizici uživatelů než v západní Evropě.

Nativní lokalizace: Tajný multiplikátor

Spouštění reklam na zahraničních trzích konvertuje pouze tehdy, pokud zážitek ve hře odpovídá záznamu v obchodě. Ve hře Blocked: Pixel Panzer jsou všechny čtyři trhy podporovány nativní lokalizací přímo v základu:

  • tr.json (turečtina)
  • pt-BR.json (brazilská portugalština)
  • es-419.json (latinskoamerická španělština)
  • pl.json (polština)

Když hráč ze São Paula nebo Varšavy klepne na reklamu, nainstaluje hru a hned po spuštění uslyší a uvidí svůj rodný jazyk, ponoření do hry je okamžité – což dramaticky zvyšuje míru dokončení 1. úrovně.

Tip pro cílení na polohu: V nastavení polohy Google Ads vždy přepněte výchozí možnost „Přítomnost nebo zájem“ na „Přítomnost: Uživatelé, kteří se nacházejí v zahrnutých lokalitách nebo je pravidelně navštěvují“. Tím zajistíte, že se váš rozpočet utratí výhradně za uživatele fyzicky sídlící ve vašich cílových zemích, a vyloučíte provoz ze zahraničních sítí VPN nebo nesouvisejících vyhledávacích dotazů.


6. Kreativní podklady: Proč video násobí a nikdy nekanibalizuje

Při sestavování skupin kreativ pro Google Ads se vývojáři často ptají: „Pokud přidám video ze hry, nezastíní mé vypilované screenshoty?“

Odpověď zní důrazné ne. Google Ads funguje napříč odlišnými vícekanálovými inventáři:

  • Nadpisy a screenshoty: Dominují ve výsledcích vyhledávání Google Play, v sekcích doporučených aplikací a v obsahových bannerových sítích.
  • Video: Otevírá masivní inventář YouTube Shorts, přeskočitelných i nepřeskočitelných video reklam a umístění videí s odměnou (rewarded video) v jiných populárních mobilních hrách.

U her s vysokou intenzitou akce, jako je Blocked: Pixel Panzer, mohou statické snímky ukázat pixel art, ale pouze video dokáže zprostředkovat pocit uhýbání před záplavou kulek („bullet-hell“), odpalování výbušných řetězových reakcí a ničení nepřátelských stíhaček.

Hráči, kteří si hru nainstalují po zhlédnutí skutečného videa ze hry, již rozumí ovládání a herním mechanikám. V důsledku toho je jejich konverzní poměr u level_1_completed dramaticky vyšší než u uživatelů získaných pouze prostřednictvím statické grafiky.


7. Shrnutí a kontrolní seznam pro nezávislé vývojáře

Před spuštěním další reklamní kampaně na mobilní hru si projděte tento architektonický kontrolní seznam:

  • Ověření telemetrie ve hře: Ujistěte se, že level_completed a milníky úrovní jsou zaznamenávány s čistými parametry a nulovými alokacemi Garbage Collectoru na hlavním vlákně.
  • Syntéza klíčových událostí v GA4: Vytvořte vyhrazené události (např. level_1_completed) a označte je jako klíčové události v GA4.
  • Import do Google Ads: Propojte Firebase a Google Ads, importujte akci a označte ji jako primární.
  • Zaměření nabídek: Zvolte Akce v aplikaci (Target CPA) namísto pouhého objemu instalací.
  • Kalibrace počáteční CPA: Nastavte realistické cílové CPA (0,15 \(– 0,30\) v závislosti na úrovních cílových zemí) a dopřejte strojovému učení alespoň 3–4 dny nepřerušovaného běhu.
  • Rozfázování trychtýře: Začněte s raným, snadno dosažitelným milníkem (1. úroveň), abyste vybudovali rychlost konverzí, a poté přejděte na hlubší postupové cíle.

Změnou myšlení z „kupování stažení“ na „kupování herních milníků“ proměníte reklamu z nepředvídatelného výdaje v opakovatelný růstový motor s vysokou retencí.


Napsáno inženýrským týmem Arar Games / Mayhemco (tvůrci her Paint Trek a Blocked: Pixel Panzer). Prozkoumejte Blocked: Pixel Panzer na Google Play a zažijte naše rychlé retro arkádové souboje na vlastní kůži.


Hashtags & SEO Topics

#BlockedPixelPanzer #ArarGames #Mayhemco #PaintTrek #MonoGame #GoogleAds #FirebaseAnalytics #GA4 #MobileGameDev #UserAcquisition #GameMarketing #SmartBidding #TargetCPA #InAppActions #IndieGameDev #GameAnalytics #AndroidDev

Von der CPI-Falle zu treuen Spielern: Skalierung mobiler Spiele mit Firebase In-App-Aktionen und Google Ads (UAC 2.0)

Von der CPI-Falle zu treuen Spielern: Skalierung mobiler Spiele mit Firebase In-App-Aktionen und Google Ads (UAC 2.0)

Jeder Indie-Entwickler, der ein mobiles Spiel auf den Markt bringt, steht früher oder später vor dem Cost-per-Install (CPI) Paradoxon:

Sie starten eine bezahlte Werbekampagne zur Nutzerakquise (UA), freuen sich über Hunderte günstige Downloads und sehen, wie der Google Play Zähler steigt. Doch wenn Sie 48 Stunden später Ihr Analytics-Dashboard öffnen, folgt die Ernüchterung:

1.000 Installs ──► 500 Sofortige Deinstallationen (< 2 Min.) ──► 50 Level 1 Abschlüsse ──► 5 Treue Spieler

Über 50 % der gewonnenen Nutzer haben das Spiel deinstalliert, bevor sie überhaupt das erste Level beendet haben.

Wenn Sie eine standardmäßige Google Ads App-Kampagne für Installationen (UAC 1.0) mit reinem CPI-Gebot schalten, tut Googles Algorithmus genau das, was Sie ihm befohlen haben: Finde die billigsten Nutzer, die auf "Installieren" klicken. Leider sind die billigsten Nutzer in Werbenetzwerken oft Belohnungsvideo-Jäger oder Bot-nahe Profile, die niemals echtes Interesse an Ihrem Gameplay entwickeln.

In diesem Artikel teilen wir unsere reale Entwicklungs- und Marketingarchitektur unseres rasanten Retro-Panzer-Actionspiels Blocked: Pixel Panzer (entwickelt mit MonoGame und C# von Arar Games). Wir zeigen Schritt für Schritt, wie wir Gameplay-Telemetrie mit Google Analytics 4 (GA4) und Google Ads App-Kampagnen für In-App-Aktionen (UAC 2.0) verknüpft haben, um keine leeren Downloads mehr zu kaufen, sondern echte, engagierte Spieler zu gewinnen.


1. Den Funnel diagnostizieren: Was uns Live-Analytics gelehrt hat

Bevor Sie auch nur einen Euro für Anzeigen ausgeben, müssen Sie wissen, an welcher Stelle Spieler Ihr Spiel verlassen.

In Blocked: Pixel Panzer zeichnet unsere Telemetrie Kernereignisse asynchron in Firebase auf:

  • first_open (Erststart)
  • screen_view (Verfolgung von über 40 benutzerdefinierten MonoGame-Screens)
  • level_completed (mit Parametern level_number, score, duration_seconds)
  • skill_upgraded (Fähigkeiten-Upgrades)
  • boss_fight_result (Sieg/Niederlage bei Bosskämpfen)
  • app_remove (Deinstallationssignal des Betriebssystems)

Als wir deinstallierte Sitzungen in den GA4-Pfadanalysen untersuchten, war das Ergebnis unmissverständlich:

  • Von 63 deinstallierten Geräten hatten rund 30 Nutzer das Spiel gelöscht, bevor sie überhaupt Level 1 beendet hatten.
  • 14 Nutzer brachen ab, nachdem sie ihre ersten Fähigkeiten im Spiel aufgerüstet hatten.
  • Der weiteste Fortschritt deinstallierter Spieler lag bei Level 10 (dem ersten Boss).
[ Nutzer-Installationen ] 
       │
       ├──► 48 % Churn: Abbruch vor Abschluss von Level 1 <── (Die CPI-Verschwendungszone)
       │
       ├──► 30 % Engagement: Fähigkeiten verbessert & Level 2-3 erreicht
       │
       └──► 22 % Feste Spielerbasis: Erreichen den Boss (Level 10) und das Meta-Game

Die Erkenntnis war klar: Das Bezahlen für reine Downloads spült das Budget direkt in die Churn-Zone.

Unser Bietmodell musste für Spieler optimiert werden, deren Verhaltensmuster dem von Nutzern entsprach, die Level 1 meistern und in Level 3 vorstoßen.


2. Die Mechanik von UAC 2.0: Fokus auf In-App-Aktionen

Google Ads App-Kampagnen bieten grundlegend verschiedene Optimierungsmodelle:

Modell Bietfokus Was der Algorithmus lernt Ideal für
UAC 1.0 (Installationen) Ziel-CPI Profile von Nutzern, die ständig Apps herunterladen Erste Markteinführung, reines Download-Volumen
UAC 2.0 (In-App-Aktionen) Ziel-CPA (Cost-per-Action) Profile von Nutzern, die bestimmte Gameplay-Ziele erreichen Nachhaltige Spielerbindung, hochwertige Spieler
UAC 2.5 (Wert / ROAS) Ziel-ROAS Profile von Spielern mit hoher Kaufbereitschaft Spiele mit starker In-App-Kauf-Monetarisierung

Unter UAC 2.0 (In-App-Aktionen) legen Sie einen Ziel-CPA fest – beispielsweise 0,20 € pro Abschluss von Level 1.

Googles Smart Bidding analysiert daraufhin hunderte Verhaltenssignale auf Google Play, YouTube, der Google-Suche und in Millionen von Apps des AdMob-Netzwerks. Es bietet aggressiv nur dann, wenn das Profil eines Nutzers darauf hindeutet, dass er das Spiel herunterlädt und Level 1 erfolgreich meistert.


3. Schritt-für-Schritt-Implementierung: Vom C#-Code zu Google Ads

Hier ist der technische Ablauf, mit dem wir Gameplay-Events in Werbekonversionen verwandelt haben:

Schritt 1: Telemetrie im Spiel (MonoGame / C#)

In Blocked.Shared/Managers/AnalyticsManager.cs sendet das Spiel bei Levelabschluss das Event level_completed, ohne die 60 FPS Framerate zu belasten:

public static void LogLevelCompleted(int level, int score, int totalScore, string rank,
                                     int durationSeconds, int damageTaken,
                                     int blocksBroken, int enemiesKilled, int suppliesCollected)
{
    try
    {
        _payload.Clear();
        _payload[AnalyticsParams.LevelNumber] = level;
        _payload[AnalyticsParams.Score] = score;
        _payload[AnalyticsParams.TotalScore] = totalScore;
        _payload[AnalyticsParams.DurationSeconds] = durationSeconds;
        _payload[AnalyticsParams.IsBoss] = IsBossLevel(level) ? 1 : 0;
        
        // Über JNI an das Android Firebase SDK übergeben (asynchroner SQLite-Puffer)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        Warn(ex);
    }
}

Schritt 2: GA4 Event-Synthese (Ohne App-Update)

Google Ads kann standardmäßig nicht direkt auf Unterparameter filtern. In Google Analytics 4 (GA4) lässt sich dies jedoch ohne Store-Update direkt im Dashboard lösen:

  1. Gehen Sie in GA4 auf Verwaltung ➔ Datenanzeige ➔ Ereignisse.
  2. Klicken Sie auf Ereignis erstellen:
    • Name des benutzerdefinierten Ereignisses: level_1_completed
    • Bedingungen für Übereinstimmung:
      • event_name ist gleich level_completed
      • level_number ist gleich 1
    • Aktivieren Sie "Parameter aus dem Quellereignis kopieren".
  3. Speichern Sie.
  4. Markieren Sie level_1_completed unter Wichtige Ereignisse (Key events) mit dem Stern (⭐) als Conversion.

Schritt 3: Import in Google Ads

  1. Öffnen Sie Google Ads (ads.google.com).
  2. Gehen Sie zu Ziele ➔ Conversions ➔ Übersicht.
  3. Wählen Sie Neue Conversion-Aktion ➔ Importieren ➔ Google Analytics 4-Properties (Firebase).
  4. Wählen Sie level_1_completed aus und weisen Sie die Kategorie Level erreicht (Level achieved) oder Interaktion (Engagement) zu.
  5. Setzen Sie die Aktion auf Primär, damit Smart Bidding darauf optimiert.

4. Die Funnel-Strategie: Das Kaltstart-Problem lösen

Ein häufiger Fehler besteht darin, direkt zu tief im Spiel anzusetzen (z. B. "Boss besiegt").

Das Datenvolumen-Gesetz

Damit Googles Machine Learning verlässlich lernt, benötigt es ausreichend Daten:

  • Goldene Regel: Eine Kampagne sollte mindestens 10 bis 20 Ziel-Conversions pro Tag generieren.

In unserer frühen Analyse hatten wir eine Zielgruppe namens Quality_Players_Level_3 (Level 3 oder höher abgeschlossen) mit 17 Spielern. 17 Nutzer sind für den Algorithmus jedoch eine zu kleine Stichprobe ("Too small to serve").

Die zweistufige Lösung

  1. Stufe 1 (Volumen & Bereinigung): Start mit level_1_completed. Da ca. 50–60 % echter Spieler Level 1 abschließen, erzielt die Kampagne mühelos 20+ Conversions pro Tag bei niedrigem Ziel-CPA (~0,15 € – 0,25 €). Dies filtert sofort Download-Farmen heraus.
  2. Stufe 2 (Feinabstimmung): Aus den hunderten Level-1-Absolventen wächst der Pool Quality_Players_Level_3 innerhalb von 1–2 Wochen auf über 100 Spieler an. Sobald dieser Schwellenwert überschritten ist, wird das Ziel auf Level 3 oder Fähigkeiten-Upgrades umgestellt.

5. Zielmärkte und Lokalisierung

Für den Start von Blocked: Pixel Panzer wählten wir vier strategische Märkte mit hoher Affinität für Retro-Arcade-Action und wirtschaftlichen Akquisekosten:

  1. Türkei (TR): Starke Gaming-Community, hohe Affinität zu Arcade-Titeln und günstige Klickpreise.
  2. Brasilien (BR): Einer der größten Android-Märkte weltweit mit großer Begeisterung für Retro-Panzerschlachten.
  3. Mexiko (MX): Bedeutender lateinamerikanischer Markt mit treuer Spielerbasis.
  4. Polen (PL): Hervorragender europäischer Testmarkt – deutlich höhere eCPMs als Südamerika, aber weitaus günstigere Akquisekosten als Westeuropa.

Alle vier Märkte werden im Spiel nativ unterstützt (tr.json, pt-BR.json, es-419.json, pl.json). Spieler erleben sofort ihre eigene Sprache, was die Abschlussrate von Level 1 drastisch steigert.

Standort-Tipp: Wählen Sie in den Google Ads Standorteinstellungen stets "Präsenz: Personen, die sich in Ihren eingeschlossenen Standorten befinden", um Fehlstreuung durch VPNs auszuschließen.


6. Fazit für Indie-Entwickler

Wer aufhört, für bloße Downloads zu bezahlen, und stattdessen für echte Gameplay-Meilensteine bietet, verwandelt Werbeausgaben von einem riskanten Glücksspiel in einen planbaren Wachstumsmotor für treue Spieler.


Erstellt vom Entwicklerteam bei Arar Games / Mayhemco. Erleben Sie unsere Retro-Arcade-Schlachten auf Google Play mit Blocked: Pixel Panzer.


Hashtags & SEO Topics

#BlockedPixelPanzer #ArarGames #Mayhemco #PaintTrek #MonoGame #GoogleAds #FirebaseAnalytics #GA4 #MobileGameDev #UserAcquisition #GameMarketing #SmartBidding #TargetCPA #InAppActions #IndieGameDev #GameAnalytics #AndroidDev