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

21 Eylül 2026 Pazartesi

Od pasti CPI do igralcev z visoko stopnjo zadržanja: Skaliranje mobilnih iger z dejanji v aplikaciji prek Firebase in Google Ads (UAC 2.0)

Od pasti CPI do igralcev z visoko stopnjo zadržanja: Skaliranje mobilnih iger z dejanji v aplikaciji prek Firebase in Google Ads (UAC 2.0)

Vsak neodvisni (indie) razvijalec mobilnih iger se prej ali slej sooči s paradoksom cene na namestitev (CPI):

Zaženete plačljivo kampanjo za pridobivanje uporabnikov (UA), se veselite navala poceni prenosov in opazujete, kako števec namestitev v Google Play strmo narašča. Ko pa 48 ur pozneje odprete analitično nadzorno ploščo, vas zadane hladna realnost:

1.000 namestitev ──► 500 takojšnjih odstranitev (< 2 min) ──► 50 dokončanj 1. ravni ──► 5 zadržanih igralcev

Več kot 50 % pridobljenih uporabnikov je igro izbrisalo, še preden so končali prvo raven.

Če izvajate standardno kampanjo Google Ads za namestitve aplikacij (UAC 1.0) z osnovnim ponujanjem cen CPI, Googlov algoritem strojnega učenja počne točno tisto, kar ste mu naročili: najdi najcenejše možne uporabnike, ki bodo v storitvi Google Play pritisnili „Namesti“. Žal so najcenejši uporabniki v oglasnem omrežju pogosto lovci na nagradne oglase, naključni klikarji ali računi, podobni botom, ki se nikoli nimajo namena resnično poglobiti v igro.

V tem članku delimo našo resnično inženirsko in marketinško arhitekturo iz naše dinamične retro tankovske akcijske igre Blocked: Pixel Panzer (razvite z MonoGame in C# v ekipi Arar Games). Raziskali bomo, kako smo povezali telemetrijo na napravi z Google Analytics 4 (GA4) in kampanjami Google Ads za dejanja v aplikaciji (UAC 2.0), da bi prenehali kupovati prazne namestitve in začeli pridobivati predane igralce z visoko stopnjo zadržanja.


1. Diagnosticiranje lijaka: Kaj nas je naučila analitika v živo

Preden porabite en sam dolar v oglasnih omrežjih, morate natančno vedeti, kje igralci odnehajo.

V igri Blocked: Pixel Panzer naša telemetrija asinhrono beleži ključne življenjske cikle igranja v Firebase:

  • first_open
  • screen_view (sledenje več kot 40 prilagojenim zaslonom MonoGame)
  • level_completed (s parametri level_number, score, duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (izvorni signal operacijskega sistema o odstranitvi aplikacije)

Ko smo analizirali seje z odstranitvijo v raziskovanju poti (Path Exploration) v GA4, so bili podatki neizprosni:

  • Od 63 pregledanih naprav z odstranjeno aplikacijo je približno 30 uporabnikov igro izbrisalo, še preden so sploh dokončali 1. raven.
  • 14 uporabnikov je odnehalo takoj po nadgradnji svojih začetnih veščin v igralni zanki.
  • Najvišji doseženi napredek med uporabniki, ki so igro zapustili, je bila 10. raven (prvi svetovni boss).
[ Namestitve uporabnikov ] 
       │
       ├──► 48 % Odpad (churn): Izbris pred dokončanjem 1. ravni <── (Območje zapravljanja CPI)
       │
       ├──► 30 % Zavzetost: Nadgradnja veščin in doseg ravni 2–3
       │
       └──► 22 % Zvesto jedro: Doseg Bossa (10. raven) in meta-igre

Zaključek je bil nesporen: Plačevanje za surove namestitve pomeni metanje denarja naravnost v območje odpada.

Da bi zgradili trajnostno ekonomijo igre, se je moral naš model ponujanja cen za oglase optimizirati za uporabnike, katerih vedenjski vzorec ustreza igralcem, ki dejansko premagajo 1. raven in napredujejo proti 3. ravni.


2. Mehanika UAC 2.0: Optimizacija za dejanja v aplikaciji

Kampanje Google Ads za aplikacije (Universal App Campaigns) ponujajo različne modele optimizacije:

Model kampanje Poudarek ponujanja Kaj se algoritem nauči Najbolj primerno za
UAC 1.0 (Namestitve) Povečanje števila namestitev / Target CPI Profile uporabnikov, ki pogosto nameščajo nove aplikacije Zgodnji zagon v trgovini, hitra rast obsega
UAC 2.0 (Dejanja v aplikaciji) Target CPA (Ciljna cena na dejanje) Profile uporabnikov, ki bodo verjetno dosegli določen mejnik v igri Trajnostno zadržanje, rast meta-igre
UAC 2.5 (Vrednost / ROAS) Target ROAS Profile igralcev z visoko porabo (kiti) Igre z močno monetizacijo prek nakupov v aplikaciji

V okviru UAC 2.0 (Dejanja v aplikaciji) nastavite ciljno ceno na dejanje (Target CPA) – na primer 0,20 $ za dokončanje 1. ravni.

Googlova nevronska mreža za pametno ponujanje cen (Smart Bidding) nato analizira stotine vedenjskih signalov v Google Play, YouTubu, Google Iskanju in milijonih aplikacij v Googlovem prikaznem omrežju (AdMob). Ponuja agresivno le takrat, ko se prikaz oglasa ujema z uporabnikom, katerega pretekle navade kažejo, da bo igro prenesel, opravil uvodni del in končal 1. raven.


3. Izvedba korak za korakom: Od telemetrije v C# do Google Ads

Tukaj je natančen tehnični postopek, s katerim smo dosežke v igri spremenili v merljive oglaševalske cilje konverzije.

1. korak: Telemetrijska točka na strani naprave (MonoGame / C#)

V Blocked.Shared/Managers/AnalyticsManager.cs, kadar koli igralec počisti bojno območje, igra izračuna točke, škodo in čas ter pošlje dogodek level_completed brez blokiranja 60 FPS upodabljalne niti:

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;
        
        // Pošiljanje v Android Firebase SDK prek JNI (neblokirni medpomnilnik SQLite)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemetrija ne sme nikoli povzročiti sesutja igre
        Warn(ex);
    }
}

2. korak: Sinteza dogodkov po meri v GA4 (Brez potrebe po posodobitvi aplikacije)

Google Ads privzeto ne more neposredno ponujati cen za poizvedbe po parametrih, kot je level_completed WHERE level_number == 1. Kljub temu vam Google Analytics 4 omogoča sintezo dogodkov po meri v realnem času iz dohodne telemetrije, ne da bi morali izdati posodobitev v trgovini z aplikacijami:

  1. V konzoli GA4 pojdite na Skrbnik ➔ Prikaz podatkov ➔ Dogodki.
  2. Kliknite Ustvari dogodek in konfigurirajte:
    • Ime dogodka po meri: level_1_completed
    • Pogoji ujemanja:
      • event_name je enako level_completed
      • level_number je enako 1
    • Označite „Kopiraj parametre iz izvornega dogodka“, da ohranite točke in meritve seje.
  3. Shranite konfiguracijo.
  4. Na zavihku Dogodki ali Ključni dogodki (Key events) poiščite level_1_completed in vklopite stikalo „Označi kot ključni dogodek“.

Zdaj, ko kateri koli igralec na svetu premaga 1. raven, GA4 samodejno ustvari namenski konverzijski dogodek level_1_completed.

3. korak: Uvoz dejanj konverzije v Google Ads

  1. Odprite Google Ads (ads.google.com).
  2. Pojdite na Cilji ➔ Konverzije ➔ Povzetek.
  3. Kliknite Novo dejanje konverzije ➔ Uvozi ➔ Lastnosti storitve Google Analytics 4 (Firebase).
  4. Na seznamu izberite level_1_completed.
  5. Nastavite kategorijo na Interakcija ali Dosežena raven.
  6. Nastavite dejanje konverzije kot Primarno (Primary), da bo Smart Bidding aktivno optimiziral ponudbe glede nanj.
[ Mobilna igra: 1. raven končana ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ Mehanizem Firebase Analytics ]
                │
                │  Pravilo GA4: Sintetiziraj "level_1_completed"
                ▼
[ Ključni dogodek v GA4 (Konverzija) ]
                │
                │  Povezana integracija z Google Ads
                ▼
[ Mehanizem Google Ads Smart Bidding (UAC 2.0 Target CPA) ]

4. Premagovanje težave hladnega zagona: Strategija lijaka

Pogosta napaka, ki jo neodvisni razvijalci storijo pri prehodu na UAC 2.0, je prezgodnje ciljanje na pregloboko točko v igri.

Pravilo obsega pri strojnem učenju

Algoritmi Google Ads Smart Bidding zahtevajo minimalni statistični prag za učinkovito učenje:

  • Zlato pravilo: Kampanja mora ustvariti vsaj 10 do 20 ciljnih konverzij v aplikaciji na dan, da zapusti fazo učenja („Learning Phase“) in doseže optimalno učinkovitost ponujanja.

V naši začetni reviziji analitike smo ustvarili občinstvo z imenom Quality_Players_Level_3 (igralci, ki so opravili 3. ali višjo raven), v katerem se je zbralo 17 igralcev.

Če bi takoj zagnali kampanjo, usmerjeno na 3. raven:

  • Za doseganje 15 konverzij 3. ravni na dan bi bil potreben ogromen začetni oglaševalski proračun.
  • Z le 17 zgodovinskimi vzorci je bila velikost podobnega občinstva (lookalike) za algoritem preozka, kar je predstavljalo tveganje za nestanovitna nihanja cen ali popolno ustavitev prikazovanja („Too small to serve“).

Dvostopenjska rešitev

Namesto pristopa „vse ali nič“ smo uporabili stopenjski lijak:

flowchart TD
    A["1. stopnja: Skaliranje Level 1 Completed"] --> B["Pridobi zavzete igralce pri nizkem Target CPA"]
    B --> C["Filtrira 100 % neaktivnih namestitev iz območja odpada"]
    C --> D["Napolni občinstvo 'Quality_Players_Level_3' (100+ igralcev)"]
    D --> E["2. stopnja: Premik Target CPA na 3. raven / Nadgradnja veščin"]
  1. 1. stopnja (Obseg in higiena): Optimizacija za level_1_completed. Ker ~50–60 % resničnih igralcev lahko premaga 1. raven, kampanja brez težav zbere več kot 20 konverzij na dan pri nizkem Target CPA (~0,15 \(– 0,25\)). To takoj izloči nekakovostne farme namestitev in hkrati zgradi aktivno bazo uporabnikov.
  2. 2. stopnja (Izpopolnitev): Ko na stotine igralcev dokonča 1. raven, stalen delež naravno napreduje proti 3., 5. in 10. ravni. Ko nabor občinstva Quality_Players_Level_3 preseže 100–200 aktivnih uporabnikov, se cilj kampanje lahko varno preusmeri na 3. raven ali na mejnike meta-igre (skill_upgraded) za doseganje najvišje življenjske vrednosti (LTV).

5. Izbira trga in geografska arbitraža

Ponujanje na trgih Tier-1 (ZDA, Združeno kraljestvo, Nemčija) z neumerjeno kampanjo lahko izčrpa majhne neodvisne proračune v nekaj urah (1,50 \(– 4,00\) na dejanje).

Za naš začetni preizkus UAC 2.0 igre Blocked: Pixel Panzer smo izbrali strateško skupino štirih trgov z velikim obsegom, stroškovno učinkovitostjo in bogato skupnostjo igralcev:

  1. Turčija (TR): Močna lokalna baza igralcev, visoka zavzetost za arkadne in akcijske igre ter nizki stroški pridobivanja.
  2. Brazilija (BR): Eden največjih trgov za igre Android na svetu. Brazilski mobilni igralci imajo neizmerno strast do retro estetike in arkadnih bojev.
  3. Mehika (MX): Drugo največje igričarsko središče v Latinski Ameriki z zgoščenim obsegom in zvestimi skupnostmi.
  4. Poljska (PL): Odličen evropski poligon za testiranje – znatno višji prihodki AdMob eCPM kot v Južni Ameriki, a z občutno nižjimi stroški pridobivanja uporabnikov kot v Zahodni Evropi.

Domača lokalizacija: Skrivni multiplikator

Prikazovanje oglasov na tujih trgih prinaša konverzije le, če se izkušnja v sami igri ujema s predstavitvijo v trgovini. V igri Blocked: Pixel Panzer so vsi štirje trgi podprti z izvorno lokalizacijo že ob prvem zagonu:

  • tr.json (turščina)
  • pt-BR.json (brazilska portugalščina)
  • es-419.json (latinskoameriška španščina)
  • pl.json (poljščina)

Ko igralec iz São Paula ali Varšave klikne oglas, namesti igro in ob zagonu takoj vidi svoj materni jezik, je potopitev v igro trenutna – kar dramatično poveča stopnjo dokončanja 1. ravni.

Nasvet za ciljanje lokacije: V nastavitvah lokacije v Google Ads vedno preklopite privzeto možnost „Prisotnost ali zanimanje“ na „Prisotnost: Ljudje, ki se nahajajo na vaših vključenih lokacijah ali jih redno obiskujejo“. To zagotavlja, da se vaš proračun porabi izključno za uporabnike, ki fizično prebivajo v ciljnih državah, s čimer odpravite promet iz tujih omrežij VPN ali nepovezanih iskanj.


6. Ustvarjalna sredstva: Zakaj video množi in nikoli ne kanibalizira

Pri sestavljanju skupin oglasov v Google Ads se razvijalci pogosto sprašujejo: „Če dodam videoposnetek igranja, ali bo ta zasenčil moje izpiljene posnetke zaslona?“

Odgovor je odločen ne. Google Ads deluje v popolnoma ločenih večkanalnih prostorih:

  • Naslovi in posnetki zaslona: Prevladujejo v rezultatih iskanja v Google Play, na policah priporočenih aplikacij in v pasičnih omrežjih.
  • Video: Odpre ogromen oglasni prostor platform YouTube Shorts, video oglasov pred predvajanjem (in-stream) ter nagradnih video oglasov (rewarded video) v drugih priljubljenih mobilnih igrah.

V igrah z intenzivno akcijo, kot je Blocked: Pixel Panzer, statični posnetki zaslona lahko pokažejo slikovne pike, vendar lahko le video posreduje občutek izmikanja toči krogel („bullet-hell“), sprožanja eksplozivnih verižnih reakcij in uničevanja sovražnih lovcev.

Uporabniki, ki igro namestijo po ogledu pristnega videoposnetka igranja, že razumejo kontrole in mehaniko. Posledično je njihova stopnja konverzije za level_1_completed občutno višja od uporabnikov, pridobljenih zgolj s statično grafiko.


7. Povzetek in kontrolni seznam za neodvisne razvijalce

Pred zagonom naslednje oglaševalske kampanje za mobilno igro preverite ta strukturni kontrolni seznam:

  • Preverite telemetrijo v igri: Zagotovite, da se level_completed in mejniki ravni beležijo s čistimi parametri in ničelnimi alokacijami Garbage Collectorja na glavni niti.
  • Sintetizirajte ključne dogodke v GA4: Ustvarite namenske dogodke (npr. level_1_completed) in jih označite kot ključne dogodke v GA4.
  • Uvozite v Google Ads: Povežite Firebase in Google Ads, uvozite dejanje in ga označite kot primarno.
  • Poudarek ponujanja: Izberite Dejanja v aplikaciji (Target CPA) namesto zgolj obsega namestitev.
  • Umerite začetni CPA: Nastavite realen Target CPA (0,15 \(– 0,30\) glede na raven držav) in omogočite vsaj 3–4 dni nemotenega strojnega učenja.
  • Lijak razdelite na stopnje: Začnite z zgodnjim, lahko dosegljivim mejnikom (1. raven), da pridobite hitrost konverzij, nato pa preidite na globlje cilje napredovanja.

S spremembo miselnosti z „nakupa prenosov“ na „nakup igralnih mejnikov“ oglaševanje spremenite iz nepredvidljivega stroška v ponovljiv motor rasti z visoko stopnjo zadržanja igralcev.


Napisala inženirska ekipa Arar Games / Mayhemco (ustvarjalci iger Paint Trek in Blocked: Pixel Panzer). Raziščite igro Blocked: Pixel Panzer v storitvi Google Play in iz prve roke doživite naše hitre retro arkadne bitke.


Hashtags & SEO Topics

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

Od CPI zamke do igrača sa visokim zadržavanjem: Skaliranje mobilnih igara pomoću radnji u aplikaciji preko Firebase-a i Google Ads-a (UAC 2.0)

Od CPI zamke do igrača sa visokim zadržavanjem: Skaliranje mobilnih igara pomoću radnji u aplikaciji preko Firebase-a i Google Ads-a (UAC 2.0)

Svaki nezavisni (indie) programer koji objavi mobilnu igru pre ili kasnije se suoči sa paradoksom cene po instalaciji (CPI):

Pokrenete plaćenu kampanju za akviziciju korisnika (UA), radujete se poplavi jeftinih preuzimanja i posmatrate kako brojač instalacija na Google Play-u raste. Međutim, kada 48 sati kasnije otvorite analitički panel, dočekuje vas hladna realnost:

1.000 instalacija ──► 500 trenutnih brisanja (< 2 min) ──► 50 završetaka Nivoa 1 ──► 5 zadržanih igrača

Više od 50% stečenih korisnika obrisalo je igru pre nego što je uopšte završilo prvi nivo.

Ako vodite standardnu Google Ads kampanju za instalacije aplikacija (UAC 1.0) sa osnovnim CPI licitiranjem, Google-ov algoritam mašinskog učenja radi tačno ono što ste mu zadali: pronađi najjeftinije moguće korisnike koji će dodirnuti dugme „Instaliraj“ na Google Play-u. Nažalost, najjeftiniji korisnici na oglasnoj mreži često su lovci na nagradne reklame, slučajni klikeri ili nalozi slični botovima koji nikada nemaju nameru da zaista igraju vašu igru.

U ovom članku delimo našu realnu inženjersku i marketinšku arhitekturu iz naše dinamične retro tenkovske akcione igre, Blocked: Pixel Panzer (koju je u MonoGame i C# tehnologijama razvio tim Arar Games). Istražićemo kako smo povezali telemetriju na uređaju sa Google Analytics 4 (GA4) i Google Ads kampanjama za radnje u aplikaciji (UAC 2.0) kako bismo prestali da kupujemo prazna preuzimanja i počeli da privlačimo posvećene igrače sa visokom stopom zadržavanja.


1. Dijagnostika levka: Šta nas je naučila analitika uživo

Pre nego što potrošite ijedan dolar na oglasne mreže, morate tačno znati gde igrači odustaju.

U igri Blocked: Pixel Panzer, naša telemetrija asinhrono beleži ključne životne cikluse igranja u Firebase:

  • first_open
  • screen_view (praćenje preko 40 prilagođenih MonoGame ekrana)
  • level_completed (sa parametrima level_number, score, duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (nativni signal operativnog sistema o deinstalaciji)

Kada smo analizirali sesije deinstalacija u izveštaju istraživanja putanja (Path Exploration) u GA4, podaci su bili neumoljivi:

  • Od 63 pregledana deinstalirana uređaja, oko 30 korisnika je obrisalo igru pre nego što je uopšte završilo Nivo 1.
  • 14 korisnika je odustalo odmah nakon unapređenja svojih početnih veština unutar petlje igranja.
  • Maksimalni postignuti napredak među korisnicima koji su otišli bio je Nivo 10 (prvi glavni boss).
[ Instalacije korisnika ] 
       │
       ├──► 48% Odustajanje (churn): Brisanje pre završetka Nivoa 1 <── (Zona rasipanja CPI-ja)
       │
       ├──► 30% Angažovanje: Unapređenje veština i dostizanje Nivoa 2-3
       │
       └──► 22% Jezgro zadržavanja: Dostizanje Bossa (Nivo 10) i meta-igre

Zaključak je bio nepobitan: Plaćanje čistih instalacija predstavlja bacanje novca direktno u zonu odustajanja.

Da bismo izgradili održivu ekonomiju igre, naš model licitiranja za oglase morao je da se optimizuje za korisnike čiji profil ponašanja odgovara igračima koji zaista savladavaju Nivo 1 i napreduju ka Nivou 3.


2. Mehanika UAC 2.0: Optimizacija za radnje u aplikaciji

Google Ads kampanje za aplikacije (Universal App Campaigns) dolaze u različitim modelima optimizacije:

Model kampanje Fokus licitiranja Šta algoritam uči Najbolje za
UAC 1.0 (Instalacije) Povećanje broja instalacija / Target CPI Profile korisnika koji često instaliraju nove aplikacije Rano lansiranje, brz rast volumena
UAC 2.0 (Radnje u aplikaciji) Target CPA (Cena po akciji) Profile korisnika sklonih da ostvare specifičan cilj u igri Održivo zadržavanje, rast meta-igre
UAC 2.5 (Vrednost / ROAS) Target ROAS Profile igrača sa visokom potrošnjom (kitovi) Igre sa jakom monetizacijom kroz kupovine u aplikaciji

U okviru UAC 2.0 (Radnje u aplikaciji), postavljate ciljanu cenu po radnji (Target CPA) – na primer, 0,20 $ po završetku Nivoa 1.

Google-ova neuronska mreža za pametno licitiranje (Smart Bidding) zatim analizira stotine signala ponašanja na Google Play-u, YouTube-u, Google pretrazi i milionima aplikacija na Google mreži za prikazivanje (AdMob). Ona licitira agresivno samo onda kada prikaz oglasa odgovara korisniku čije prethodne navike ukazuju na to da će preuzeti igru, proći uvodni deo i završiti Nivo 1.


3. Implementacija korak po korak: Od C# telemetrije do Google Ads-a

Evo preciznog tehničkog procesa koji smo koristili za pretvaranje uspeha u igri u merljive oglasne konverzijske ciljeve.

Korak 1: Telemetrijska tačka na uređaju (MonoGame / C#)

U Blocked.Shared/Managers/AnalyticsManager.cs, svaki put kada igrač očisti zonu borbe, igra izračunava rezultat, štetu i vreme, a zatim šalje level_completed bez blokiranja glavne render niti od 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;
        
        // Slanje u Android Firebase SDK putem JNI veze (neblokirajući SQLite bafer)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemetrija nikada ne sme da sruši igru
        Warn(ex);
    }
}

Korak 2: Sinteza prilagođenih događaja u GA4 (Bez potrebe za ažuriranjem aplikacije)

Google Ads podrazumevano ne može direktno da licitira na podupite parametara kao što je level_completed WHERE level_number == 1. Međutim, Google Analytics 4 vam omogućava da sintetišete prilagođene događaje u realnom vremenu iz dolazne telemetrije bez slanja nove verzije u prodavnicu aplikacija:

  1. U konzoli GA4 idite na Administracija ➔ Prikaz podataka ➔ Događaji.
  2. Kliknite na Kreiraj događaj i podesite:
    • Naziv prilagođenog događaja: level_1_completed
    • Uslovi podudaranja:
      • event_name jednako je level_completed
      • level_number jednako je 1
    • Označite „Kopiraj parametre iz izvornog događaja“ da biste sačuvali rezultate i metrike sesije.
  3. Sačuvajte podešavanja.
  4. Na kartici Događaji ili Ključni događaji (Key events) pronađite level_1_completed i uključite prekidač „Označi kao ključni događaj“.

Sada, kad god bilo koji igrač na svetu završi Nivo 1, GA4 automatski emituje namenski događaj konverzije: level_1_completed.

Korak 3: Uvoz konverzijskih radnji u Google Ads

  1. Otvorite Google Ads (ads.google.com).
  2. Idite na Ciljevi ➔ Konverzije ➔ Rezime.
  3. Kliknite na Nova radnja konverzije ➔ Uvezi ➔ Google Analytics 4 svojstva (Firebase).
  4. Izaberite level_1_completed sa liste.
  5. Postavite kategoriju na Angažovanje ili Dostignuti nivo.
  6. Postavite radnju konverzije kao Primarnu (Primary), kako bi Smart Bidding aktivno optimizovao ponude prema njoj.
[ Mobilna igra: Nivo 1 završen ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ Mehanizam Firebase Analytics ]
                │
                │  GA4 pravilo: Sintetiši "level_1_completed"
                ▼
[ Ključni događaj u GA4 (Konverzija) ]
                │
                │  Povezana Google Ads integracija
                ▼
[ Google Ads Smart Bidding mehanizam (UAC 2.0 Target CPA) ]

4. Prevazilaženje problema hladnog starta: Strategija levka

Česta greška koju nezavisni programeri prave pri prelasku na UAC 2.0 jeste ciljanje preduboke tačke u igri previše rano.

Pravilo volumena u mašinskom učenju

Algoritmi Google Ads Smart Bidding-a zahtevaju minimalni statistički prag za uspešno obučavanje:

  • Zlatno pravilo: Kampanja bi trebalo da ostvari najmanje 10 do 20 ciljanih konverzija u aplikaciji dnevno kako bi izašla iz faze učenja („Learning Phase“) i postigla optimalnu efikasnost.

U našoj početnoj analizi kreirali smo publiku pod nazivom Quality_Players_Level_3 (igrači koji su prešli Nivo 3 ili više), koja je okupila 17 igrača.

Da smo odmah pokrenuli kampanju usmerenu na Nivo 3:

  • Ostvarivanje 15 konverzija Nivoa 3 dnevno zahtevalo bi ogroman početni budžet za oglašavanje.
  • Sa samo 17 istorijskih uzoraka, veličina slične publike (lookalike) za algoritam bila je preuska, što je nosilo rizik od drastičnih oscilacija u ceni ili potpunog zastoja u prikazivanju („Too small to serve“).

Dvofazno skalabilno rešenje

Umesto pristupa „sve ili ništa“, primenili smo fazni levak:

flowchart TD
    A["Faza 1: Skaliranje Level 1 Completed"] --> B["Privlači angažovane igrače uz nizak Target CPA"]
    B --> C["Filtrira 100% neaktivnih instalacija iz zone odustajanja"]
    C --> D["Puni publiku 'Quality_Players_Level_3' (100+ igrača)"]
    D --> E["Faza 2: Pomeranje Target CPA na Nivo 3 / Unapređenje veština"]
  1. Faza 1 (Volumen i higijena): Optimizacija za level_1_completed. Budući da ~50-60% pravih igrača može da završi Nivo 1, kampanja lako postiže više od 20 konverzija dnevno uz nizak Target CPA (~0,15 \(- 0,25\)). Ovo momentalno eliminiše farme preuzimanja slabog kvaliteta i istovremeno gradi aktivnu bazu korisnika.
  2. Faza 2 (Preciziranje): Kako stotine igrača završavaju Nivo 1, stabilan procenat prirodno napreduje ka Nivoima 3, 5 i 10. Kada baza publike Quality_Players_Level_3 pređe 100-200 aktivnih korisnika, cilj kampanje može se bezbedno preusmeriti na Nivo 3 ili ciljeve meta-igre (skill_upgraded) radi maksimalne životne vrednosti (LTV).

5. Izbor tržišta i geografska arbitraža

Licitiranje na Tier-1 tržištima (SAD, Velika Britanija, Nemačka) sa nekalibrisanom kampanjom može iscrpeti male indie budžete za nekoliko sati (1,50 \(- 4,00\) po radnji).

Za našu početnu UAC 2.0 probu igre Blocked: Pixel Panzer, izabrali smo stratešku grupu od četiri tržišta sa velikim volumenom, visokom isplativošću i bogatom gejmerskom zajednicom:

  1. Turska (TR): Snažna lokalna baza igrača, veliko interesovanje za arkadne i akcione igre i niski troškovi akvizicije.
  2. Brazil (BR): Jedno od najvećih Android tržišta na svetu. Brazilski mobilni igrači gaje ogromnu strast prema retro estetici i arkadnim bitkama.
  3. Meksiko (MX): Drugi po veličini gejming centar Latinske Amerike, sa velikom gustinom publike i vernim zajednicama.
  4. Poljska (PL): Idealan evropski poligon za testiranje – znatno veći AdMob eCPM prihod u poređenju sa Južnom Amerikom, a značajno niži troškovi akvizicije korisnika u odnosu na Zapadnu Evropu.

Nativna lokalizacija: Tajni multiplikator

Prikazivanje oglasa na inostranim tržištima donosi konverzije samo ako iskustvo u samoj igri odgovara stranici u prodavnici. U igri Blocked: Pixel Panzer, sva četiri tržišta podržana su nativnom lokalizacijom odmah po instalaciji:

  • tr.json (turski)
  • pt-BR.json (brazilski portugalski)
  • es-419.json (latinoamerički španski)
  • pl.json (poljski)

Kada igrač iz Sao Paula ili Varšave dodirne oglas, instalira igru i odmah pri pokretanju vidi svoj maternji jezik, uranjanje u igru je trenutno – što drastično povećava stopu završetka Nivoa 1.

Savet za ciljanje lokacije: U podešavanjima lokacije u Google Ads-u, uvek promenite podrazumevanu opciju „Prisustvo ili interesovanje“ na „Prisustvo: Ljudi koji se nalaze na vašim ciljanim lokacijama ili ih redovno posećuju“. Ovo osigurava da se vaš budžet troši isključivo na korisnike koji fizički borave u ciljnim zemljama, eliminišući saobraćaj sa stranih VPN mreža ili nepovezanih pretraga.


6. Kreativni materijali: Zašto video umnožava i nikada ne kanibalizuje

Prilikom sastavljanja oglasnih grupa u Google Ads-u, programeri se često pitaju: „Ako dodam video snimak igranja, da li će on zaseniti moje doterane snimke ekrana?“

Odgovor je odlučno ne. Google Ads funkcioniše kroz potpuno odvojene višekanalne prostore:

  • Naslovi i snimci ekrana: Dominiraju u rezultatima pretrage na Google Play-u, na policama preporučenih aplikacija i u mrežama banera.
  • Video: Otključava masivni oglasni prostor platformi YouTube Shorts, in-stream video oglasa i nagrađivanih video formata (rewarded video) u drugim popularnim mobilnim igrama.

U dinamičnim igrama poput Blocked: Pixel Panzer, statični snimci ekrana mogu prikazati piksel-art, ali samo video može dočarati osećaj izbegavanja kiše metaka („bullet-hell“), pokretanja eksplozivnih lančanih reakcija i uništavanja neprijateljskih lovaca.

Korisnici koji instaliraju igru nakon gledanja autentičnog videa igranja već razumeju kontrole i mehaniku. Samim tim, njihova stopa konverzije za level_1_completed znatno je viša od korisnika privučenih isključivo statičnom grafikom.


7. Sažeta kontrolna lista za nezavisne programere

Pre pokretanja sledeće oglasne kampanje za mobilnu igru, proverite ovu strukturnu listu:

  • Proverite telemetriju u igri: Uverite se da se level_completed i prekretnice nivoa beleže sa čistim parametrima i bez ikakvih alokacija Garbage Collector-a na glavnoj niti.
  • Sintetišite ključne događaje u GA4: Kreirajte namenske događaje (npr. level_1_completed) i označite ih kao ključne događaje u GA4.
  • Uvezite u Google Ads: Povežite Firebase i Google Ads, uvezite radnju i označite je kao primarnu.
  • Fokus licitiranja: Odaberite Radnje u aplikaciji (Target CPA) umesto običnog volumena instalacija.
  • Kalibrišite početni CPA: Postavite realan Target CPA (0,15 \(- 0,30\) zavisno od ranga zemalja) i ostavite najmanje 3-4 dana nesmetanog mašinskog učenja.
  • Podelite levak na faze: Počnite sa ranom, lako dostižnom prekretnicom (Nivo 1) kako biste izgradili brzinu konverzija, a zatim pređite na dublje ciljeve napredovanja.

Promenom pristupa sa „kupovine preuzimanja“ na „kupovinu prekretnica u igri“, pretvarate oglašavanje iz nepredvidivog troška u pouzdan mehanizam rasta sa visokom stopom zadržavanja igrača.


Napisao inženjerski tim Arar Games / Mayhemco (kreatori igara Paint Trek i Blocked: Pixel Panzer). Istražite Blocked: Pixel Panzer na Google Play-u da biste iz prve ruke iskusili naše brze retro arkadne bitke.


Hashtags & SEO Topics

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

Od CPI zamke do igrača s visokim zadržavanjem: Skaliranje mobilnih igara pomoću radnji u aplikaciji putem Firebasea i Google Adsa (UAC 2.0)

Od CPI zamke do igrača s visokim zadržavanjem: Skaliranje mobilnih igara pomoću radnji u aplikaciji putem Firebasea i Google Adsa (UAC 2.0)

Svaki nezavisni (indie) programer koji izda mobilnu igru prije ili kasnije suočava se s paradoksom cijene po instalaciji (CPI):

Pokrenete plaćenu kampanju za privlačenje korisnika (UA), veselite se poplavi jeftinih preuzimanja i gledate kako brojač instalacija na Google Playu raste. No kada 48 sati kasnije otvorite analitičku ploču, dočekuje vas hladna stvarnost:

1.000 instalacija ──► 500 trenutačnih brisanja (< 2 min) ──► 50 završetaka Razine 1 ──► 5 zadržanih igrača

Više od 50% stečenih korisnika izbrisalo je igru prije nego što je uopće završilo prvu razinu.

Ako vodite standardnu Google Ads kampanju za instalacije aplikacija (UAC 1.0) s osnovnim licitiranjem po CPI-ju, Googleov algoritam strojnog učenja radi točno ono što ste mu zadali: pronađi najjeftinije moguće korisnike koji će dodirnuti „Instaliraj“ na Google Playu. Nažalost, najjeftiniji korisnici na oglasnoj mreži često su lovci na nagradne oglase, slučajni klikatelji ili računi slični botovima koji uopće nemaju namjeru igrati vašu igru.

U ovom članku dijelimo našu stvarnu inženjersku i marketinšku arhitekturu iz naše dinamične retro tenkovske akcijske igre, Blocked: Pixel Panzer (koju je u MonoGame i C# tehnologijama razvio studio Arar Games). Istražit ćemo kako smo povezali telemetriju na uređaju s Google Analytics 4 (GA4) i Google Ads kampanjama za radnje u aplikaciji (UAC 2.0) kako bismo prestali kupovati prazna preuzimanja i počeli privlačiti posvećene igrače s visokim zadržavanjem.


1. Dijagnostika lijevka: Što nas je naučila analitika uživo

Prije nego što potrošite ijedan dolar na oglasne mreže, morate točno znati gdje igrači odustaju.

U igri Blocked: Pixel Panzer, naša telemetrija asinkrono bilježi ključne cikluse igranja u Firebase:

  • first_open
  • screen_view (praćenje preko 40 prilagođenih MonoGame zaslona)
  • level_completed (s parametrima level_number, score, duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (izvorni signal operacijskog sustava o deinstalaciji)

Kada smo analizirali sesije s deinstalacijama u izvješću istraživanja putanja (Path Exploration) u GA4, podaci su bili neumoljivi:

  • Od 63 pregledana deinstalirana uređaja, oko 30 korisnika izbrisalo je igru prije nego što je uopće završilo Razinu 1.
  • 14 korisnika odustalo je odmah nakon nadogradnje svojih početnih vještina unutar igračke petlje.
  • Najveći napredak među korisnicima koji su odustali bio je Razina 10 (prvi boss).
[ Instalacije korisnika ] 
       │
       ├──► 48% Odustajanje (churn): Brisanje prije završetka Razine 1 <── (Zona rasipanja CPI-ja)
       │
       ├──► 30% Angažman: Nadogradnja vještina i dosezanje Razina 2-3
       │
       └──► 22% Jezgra zadržavanja: Dosezanje Bossa (Razina 10) i meta-igre

Zaključak je bio nedvosmislen: Plaćanje čistih instalacija znači bacanje novca izravno u zonu odustajanja.

Kako bismo izgradili održivu ekonomiju igre, naš model licitiranja za oglase morao se optimizirati za korisnike čiji profil ponašanja odgovara igračima koji doista prelaze Razinu 1 i napreduju prema Razini 3.


2. Mehanika UAC 2.0: Optimizacija za radnje u aplikaciji

Google Ads kampanje za aplikacije (Universal App Campaigns) dolaze u različitim modelima optimizacije:

Model kampanje Fokus licitiranja Što algoritam uči Najbolje za
UAC 1.0 (Instalacije) Povećanje broja instalacija / Target CPI Profile korisnika koji često instaliraju nove aplikacije Rano lansiranje, brzo povećanje volumena
UAC 2.0 (Radnje u aplikaciji) Target CPA (Cijena po radnji) Profile korisnika sklonih ostvarivanju određenog cilja u igri Održivo zadržavanje, rast meta-igre
UAC 2.5 (Vrijednost / ROAS) Target ROAS Profile igrača s visokom potrošnjom (kitovi) Igre sa snažnom monetizacijom putem kupnji u aplikaciji

U okviru UAC 2.0 (Radnje u aplikaciji), postavljate ciljanu cijenu po radnji (Target CPA) – na primjer, 0,20 $ po završetku Razine 1.

Googleova neuronska mreža za pametno licitiranje (Smart Bidding) zatim analizira stotine signala ponašanja na Google Playu, YouTubeu, Google pretraživanju i milijunima aplikacija na Google prikazivačkoj mreži (AdMob). Ona licitira agresivno samo onda kada prikaz oglasa odgovara korisniku čije prethodne navike upućuju na to da će preuzeti igru, proći uvodni dio i završiti Razinu 1.


3. Implementacija korak po korak: Od C# telemetrije do Google Adsa

Evo točnog tehničkog postupka koji smo upotrijebili za pretvaranje postignuća u igri u mjerljive oglasne konverzijske ciljeve.

Korak 1: Telemetrijska točka na uređaju (MonoGame / C#)

U Blocked.Shared/Managers/AnalyticsManager.cs, svaki put kada igrač očisti borbenu zonu, igra izračunava bodove, štetu i vrijeme, a zatim šalje level_completed bez blokiranja glavne niti renderiranja od 60 FPS-a:

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;
        
        // Slanje u Android Firebase SDK putem JNI-ja (neblokirajući SQLite međuspremnik)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemetrija nikada ne smije srušiti igru
        Warn(ex);
    }
}

Korak 2: Sinteza prilagođenih događaja u GA4 (Bez potrebe za ažuriranjem aplikacije)

Google Ads prema zadanim postavkama ne može izravno licitirati na podupite parametara kao što je level_completed WHERE level_number == 1. Međutim, Google Analytics 4 omogućuje vam sintezu prilagođenih događaja u stvarnom vremenu iz dolazne telemetrije bez objavljivanja ažuriranja u trgovini aplikacija:

  1. U konzoli GA4 idite na Administracija ➔ Prikaz podataka ➔ Događaji.
  2. Kliknite na Izradi događaj i konfigurirajte:
    • Naziv prilagođenog događaja: level_1_completed
    • Uvjeti podudaranja:
      • event_name jednako je level_completed
      • level_number jednako je 1
    • Označite „Kopiraj parametre iz izvornog događaja“ kako biste sačuvali rezultate i metrike sesije.
  3. Spremite postavke.
  4. Na kartici Događaji ili Ključni događaji (Key events) pronađite level_1_completed i uključite prekidač „Označi kao ključni događaj“.

Sada, kad god bilo koji igrač na svijetu završi Razinu 1, GA4 automatski stvara namjenski događaj konverzije: level_1_completed.

Korak 3: Uvoz radnji konverzije u Google Ads

  1. Otvorite Google Ads (ads.google.com).
  2. Idite na Ciljevi ➔ Konverzije ➔ Sažetak.
  3. Kliknite na Nova radnja konverzije ➔ Uvezi ➔ Google Analytics 4 entiteti (Firebase).
  4. Odaberite level_1_completed s popisa.
  5. Postavite kategoriju na Angažman ili Postignuta razina.
  6. Postavite radnju konverzije kao Primarnu (Primary) kako bi Smart Bidding aktivno optimizirao ponude prema njoj.
[ Mobilna igra: Razina 1 završena ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ Mehanizam Firebase Analytics ]
                │
                │  GA4 pravilo: Sintetiziraj "level_1_completed"
                ▼
[ Ključni događaj u GA4 (Konverzija) ]
                │
                │  Povezana integracija s Google Ads
                ▼
[ Google Ads Smart Bidding mehanizam (UAC 2.0 Target CPA) ]

4. Prevladavanje problema hladnog starta: Strategija lijevka

Česta pogreška koju nezavisni programeri čine pri prelasku na UAC 2.0 jest ciljanje preduboke točke u igri prerano.

Pravilo volumena u strojnom učenju

Algoritmi Google Ads Smart Biddinga zahtijevaju minimalni statistički prag za učinkovito učenje:

  • Zlatno pravilo: Kampanja bi trebala generirati najmanje 10 do 20 ciljanih konverzija u aplikaciji dnevno kako bi izašla iz faze učenja („Learning Phase“) i postigla optimalnu učinkovitost licitiranja.

U našoj početnoj analizi izradili smo publiku pod nazivom Quality_Players_Level_3 (igrači koji su prošli Razinu 3 ili više), koja je prikupila 17 igrača.

Da smo odmah pokrenuli kampanju usmjerenu na Razinu 3:

  • Ostvarivanje 15 konverzija Razine 3 dnevno zahtijevalo bi ogroman početni budžet za oglašavanje.
  • Sa samo 17 povijesnih uzoraka, veličina slične publike (lookalike) za algoritam bila je preuska, što je donosilo rizik od nestabilnih skokova cijene ili potpunog zastoja u prikazivanju („Too small to serve“).

Dvofazno rješenje

Umjesto pristupa „sve ili ništa“, primijenili smo postupni lijevak:

flowchart TD
    A["Faza 1: Skaliranje Level 1 Completed"] --> B["Privlači angažirane igrače uz nizak Target CPA"]
    B --> C["Filtrira 100% neaktivnih instalacija iz zone odustajanja"]
    C --> D["Puni publiku 'Quality_Players_Level_3' (100+ igrača)"]
    D --> E["Faza 2: Pomicanje Target CPA na Razinu 3 / Nadogradnja vještina"]
  1. Faza 1 (Volumen i higijena): Optimizacija za level_1_completed. Budući da ~50-60% pravih igrača može prijeći Razinu 1, kampanja lako postiže 20+ konverzija dnevno uz nizak Target CPA (~0,15 \(- 0,25\)). Time se odmah uklanjaju farme instalacija niske kvalitete i istodobno gradi aktivna baza korisnika.
  2. Faza 2 (Preciziranje): Kako stotine igrača završavaju Razinu 1, stabilan postotak prirodno napreduje prema Razinama 3, 5 i 10. Kada skupina publike Quality_Players_Level_3 premaši 100-200 aktivnih korisnika, cilj kampanje može se sigurno preusmjeriti na Razinu 3 ili na ciljeve meta-igre (skill_upgraded) radi maksimalne životne vrijednosti (LTV).

5. Odabir tržišta i geografska arbitraža

Licitiranje na Tier-1 tržištima (SAD, Velika Britanija, Njemačka) s nekalibriranom kampanjom može iscrpiti male nezavisne proračune za nekoliko sati (1,50 \(- 4,00\) po radnji).

Za našu početnu UAC 2.0 probu igre Blocked: Pixel Panzer, odabrali smo stratešku skupinu od četiri tržišta s velikim volumenom, visokom isplativošću i bogatom zajednicom igrača:

  1. Turska (TR): Snažna lokalna baza igrača, visok interes za arkadne i akcijske naslove te niski troškovi akvizicije.
  2. Brazil (BR): Jedno od najvećih Android tržišta na svijetu. Brazilski mobilni igrači imaju veliku strast prema retro estetici i arkadnim borbama.
  3. Meksiko (MX): Drugo po veličini gaming središte Latinske Amerike, koje nudi gust volumen i vjerne zajednice.
  4. Poljska (PL): Idealan europski poligon za testiranje – znatno veći AdMob eCPM prihod u usporedbi s Južnom Amerikom, uz znatno niže troškove akvizicije nego u Zapadnoj Europi.

Nativna lokalizacija: Tajni multiplikator

Prikazivanje oglasa na inozemnim tržištima donosi rezultate samo ako iskustvo u samoj igri odgovara opisu u trgovini. U igri Blocked: Pixel Panzer, sva četiri tržišta podržana su izvornom lokalizacijom odmah nakon pokretanja:

  • tr.json (turski)
  • pt-BR.json (brazilski portugalski)
  • es-419.json (latinoamerički španjolski)
  • pl.json (poljski)

Kada igrač iz São Paula ili Varšave dodirne oglas, instalira igru i odmah pri pokretanju vidi svoj materinski jezik, uranjanje u igru je trenutačno – što dramatično povećava stopu završetka Razine 1.

Savjet za ciljanje lokacije: U postavkama lokacije u Google Ads-u, uvijek promijenite zadanu opciju „Prisutnost ili interes“ na „Prisutnost: Osobe koje se nalaze na vašim uključenim lokacijama ili ih redovito posjećuju“. To osigurava da se vaš proračun troši isključivo na korisnike koji fizički borave u ciljnim zemljama, uklanjajući promet s inozemnih VPN mreža ili nepovezanih pretraživanja.


6. Kreativni materijali: Zašto video umnožava i nikada ne kanibalizira

Prilikom sastavljanja skupina oglasa u Google Ads-u, programeri se često pitaju: „Ako dodam videozapis igranja, hoće li on zasjeniti moje dotjerane snimke zaslona?“

Odgovor je odlučno ne. Google Ads funkcionira kroz potpuno odvojene višekanalne prostore:

  • Naslovi i snimke zaslona: Dominiraju u rezultatima pretraživanja na Google Playu, na policama preporučenih aplikacija i u mrežama bannera.
  • Video: Otključava masivni oglasni prostor platformi YouTube Shorts, in-stream video oglasa i nagrađivanih video formata (rewarded video) u drugim popularnim mobilnim igrama.

U dinamičnim igrama poput Blocked: Pixel Panzer, statične snimke zaslona mogu prikazati pikselnu grafiku, no samo video može dočarati osjećaj izbjegavanja kiše metaka („bullet-hell“), pokretanja eksplozivnih lančanih reakcija i uništavanja neprijateljskih zrakoplova.

Korisnici koji instaliraju igru nakon gledanja autentičnog videa igranja već razumiju kontrole i mehaniku. Samim time, njihova stopa konverzije za level_1_completed znatno je viša od korisnika privučenih isključivo statičnom grafikom.


7. Sažeti kontrolni popis za nezavisne programere

Prije pokretanja sljedeće oglasne kampanje za mobilnu igru, provjerite ovaj strukturni popis:

  • Provjerite telemetriju u igri: Uvjerite se da se level_completed i prekretnice razina bilježe s čistim parametrima i bez alokacija Garbage Collectora na glavnoj niti.
  • Sintetizirajte ključne događaje u GA4: Izradite namjenske događaje (npr. level_1_completed) i označite ih kao ključne događaje u GA4.
  • Uvezite u Google Ads: Povežite Firebase i Google Ads, uvezite radnju i postavite je kao primarnu.
  • Fokus licitiranja: Odaberite Radnje u aplikaciji (Target CPA) umjesto čistog volumena instalacija.
  • Kalibrirajte početni CPA: Postavite realan Target CPA (0,15 \(- 0,30\) ovisno o rangu zemalja) i osigurajte barem 3-4 dana neprekidnog strojnog učenja.
  • Podijelite lijevak na faze: Počnite s ranom, lako dostižnom prekretnicom (Razina 1) kako biste izgradili brzinu konverzija, a zatim prijeđite na dublje ciljeve napredovanja.

Promjenom načina razmišljanja s „kupnje preuzimanja“ na „kupnju igračkih postignuća“, pretvarate oglašavanje iz nepredvidivog troška u pouzdan motor rasta s visokim zadržavanjem igrača.


Napisao inženjerski tim Arar Games / Mayhemco (kreatori igara Paint Trek i Blocked: Pixel Panzer). Istražite Blocked: Pixel Panzer na Google Playu kako biste iz prve ruke doživjeli naše brze retro arkadne bitke.


Hashtags & SEO Topics

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

Od CPI zamke do igrača s visokim zadržavanjem: Skaliranje mobilnih igara pomoću radnji u aplikaciji preko Firebasea i Google Adsa (UAC 2.0)

Od CPI zamke do igrača s visokim zadržavanjem: Skaliranje mobilnih igara pomoću radnji u aplikaciji preko Firebasea i Google Adsa (UAC 2.0)

Svaki nezavisni (indie) programer koji objavi mobilnu igru prije ili kasnije suočava se s paradoksom cijene po instalaciji (CPI):

Pokrenete plaćenu kampanju za privlačenje korisnika (UA), radujete se poplavi jeftinih preuzimanja i posmatrate kako brojač instalacija na Google Playu raste. Međutim, kada 48 sati kasnije otvorite analitički panel, dočekuje vas surova realnost:

1.000 instalacija ──► 500 trenutnih brisanja (< 2 min) ──► 50 završetaka Nivoa 1 ──► 5 zadržanih igrača

Više od 50% privučenih korisnika obrisalo je igru prije nego što je uopće završilo prvi nivo.

Ako vodite standardnu Google Ads kampanju za instalacije aplikacija (UAC 1.0) s osnovnim licitiranjem po CPI-ju, Googleov algoritam mašinskog učenja radi tačno ono što ste mu zadali: pronađi najjeftinije moguće korisnike koji će dodirnuti „Instaliraj“ na Google Playu. Nažalost, najjeftiniji korisnici na oglasnoj mreži često su lovci na nagradne oglase, slučajni klikeri ili nalozi slični botovima koji nikada nemaju namjeru zaista igrati vašu igru.

U ovom članku dijelimo našu stvarnu inženjersku i marketinšku arhitekturu iz naše dinamične retro tenkovske akcione igre, Blocked: Pixel Panzer (koju je u MonoGame i C# tehnologijama razvio tim Arar Games). Istražit ćemo kako smo povezali telemetriju na uređaju s Google Analytics 4 (GA4) i Google Ads kampanjama za radnje u aplikaciji (UAC 2.0) kako bismo prestali kupovati prazna preuzimanja i počeli privlačiti posvećene igrače s visokim zadržavanjem.


1. Dijagnostika lijevka: Šta nas je naučila analitika uživo

Prije nego što potrošite ijedan dolar na oglasne mreže, morate tačno znati gdje igrači odustaju.

U igri Blocked: Pixel Panzer, naša telemetrija asinhrono bilježi ključne cikluse igranja u Firebase:

  • first_open
  • screen_view (praćenje preko 40 prilagođenih MonoGame ekrana)
  • level_completed (s parametrima level_number, score, duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (izvorni signal operativnog sistema o deinstalaciji)

Kada smo analizirali sesije s deinstalacijama u izvještaju istraživanja putanja (Path Exploration) u GA4, podaci su bili neumoljivi:

  • Od 63 pregledana deinstalirana uređaja, oko 30 korisnika obrisalo je igru prije nego što je uopće završilo Nivo 1.
  • 14 korisnika odustalo je odmah nakon unapređenja svojih početnih vještina unutar petlje igranja.
  • Maksimalni postignuti napredak među korisnicima koji su odustali bio je Nivo 10 (prvi glavni boss).
[ Instalacije korisnika ] 
       │
       ├──► 48% Odustajanje (churn): Brisanje prije završetka Nivoa 1 <── (Zona rasipanja CPI-ja)
       │
       ├──► 30% Angažman: Unapređenje vještina i dosezanje Nivoa 2-3
       │
       └──► 22% Jezgro zadržavanja: Dosezanje Bossa (Nivo 10) i meta-igre

Zaključak je bio nepobitan: Plaćanje čistih instalacija predstavlja bacanje novca direktno u zonu odustajanja.

Da bismo izgradili održivu ekonomiju igre, naš model licitiranja za oglase morao se optimizirati za korisnike čiji profil ponašanja odgovara igračima koji doista prelaze Nivo 1 i napreduju prema Nivou 3.


2. Mehanika UAC 2.0: Optimizacija za radnje u aplikaciji

Google Ads kampanje za aplikacije (Universal App Campaigns) dolaze u različitim modelima optimizacije:

Model kampanje Fokus licitiranja Šta algoritam uči Najbolje za
UAC 1.0 (Instalacije) Povećanje broja instalacija / Target CPI Profile korisnika koji često instaliraju nove aplikacije Rano lansiranje na prodavnici, brzi rast volumena
UAC 2.0 (Radnje u aplikaciji) Target CPA (Cijena po akciji) Profile korisnika sklonih ostvarivanju specifičnog cilja u igri Održivo zadržavanje, rast meta-igre
UAC 2.5 (Vrijednost / ROAS) Target ROAS Profile igrača s visokom potrošnjom (kitovi) Igre sa snažnom monetizacijom kroz kupovine u aplikaciji

U okviru UAC 2.0 (Radnje u aplikaciji), postavljate ciljanu cijenu po radnji (Target CPA) – na primjer, 0,20 $ po završetku Nivoa 1.

Googleova neuronska mreža za pametno licitiranje (Smart Bidding) zatim analizira stotine signala ponašanja na Google Playu, YouTubeu, Google pretraživanju i milionima aplikacija na Google prikazivačkoj mreži (AdMob). Ona licitira agresivno samo onda kada prikaz oglasa odgovara korisniku čije prethodne navike ukazuju na to da će preuzeti igru, proći uvodni dio i završiti Nivo 1.


3. Implementacija korak po korak: Od C# telemetrije do Google Adsa

Evo tačnog tehničkog postupka koji smo upotrijebili za pretvaranje postignuća u igri u mjerljive oglasne konverzijske ciljeve.

Korak 1: Telemetrijska tačka na uređaju (MonoGame / C#)

U Blocked.Shared/Managers/AnalyticsManager.cs, svaki put kada igrač očisti borbenu zonu, igra izračunava bodove, štetu i vrijeme, a zatim šalje level_completed bez blokiranja glavne render niti od 60 FPS-a:

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;
        
        // Slanje u Android Firebase SDK putem JNI veze (neblokirajući SQLite bafer)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemetrija nikada ne smije srušiti igru
        Warn(ex);
    }
}

Korak 2: Sinteza prilagođenih događaja u GA4 (Bez potrebe za ažuriranjem aplikacije)

Google Ads prema zadanim postavkama ne može direktno licitirati na podupite parametara kao što je level_completed WHERE level_number == 1. Međutim, Google Analytics 4 omogućava vam sintezu prilagođenih događaja u stvarnom vremenu iz dolazne telemetrije bez objavljivanja ažuriranja u prodavnici aplikacija:

  1. U konzoli GA4 idite na Administracija ➔ Prikaz podataka ➔ Događaji.
  2. Kliknite na Kreiraj događaj i podesite:
    • Naziv prilagođenog događaja: level_1_completed
    • Uslovi podudaranja:
      • event_name jednako je level_completed
      • level_number jednako je 1
    • Označite „Kopiraj parametre iz izvornog događaja“ kako biste sačuvali rezultate i metrike sesije.
  3. Sačuvajte postavke.
  4. Na kartici Događaji ili Ključni događaji (Key events) pronađite level_1_completed i uključite prekidač „Označi kao ključni događaj“.

Sada, kad god bilo koji igrač na svijetu završi Nivo 1, GA4 automatski kreira namjenski događaj konverzije: level_1_completed.

Korak 3: Uvoz radnji konverzije u Google Ads

  1. Otvorite Google Ads (ads.google.com).
  2. Idite na Ciljevi ➔ Konverzije ➔ Sažetak.
  3. Kliknite na Nova radnja konverzije ➔ Uvezi ➔ Google Analytics 4 entiteti (Firebase).
  4. Odaberite level_1_completed s liste.
  5. Postavite kategoriju na Angažman ili Postignuti nivo.
  6. Postavite radnju konverzije kao Primarnu (Primary) kako bi Smart Bidding aktivno optimizirao ponude prema njoj.
[ Mobilna igra: Nivo 1 završen ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ Mehanizam Firebase Analytics ]
                │
                │  GA4 pravilo: Sintetiziraj "level_1_completed"
                ▼
[ Ključni događaj u GA4 (Konverzija) ]
                │
                │  Povezana integracija s Google Ads
                ▼
[ Google Ads Smart Bidding mehanizam (UAC 2.0 Target CPA) ]

4. Prevladavanje problema hladnog starta: Strategija lijevka

Česta greška koju nezavisni programeri čine pri prelasku na UAC 2.0 jeste ciljanje preduboke tačke u igri prerano.

Pravilo volumena u mašinskom učenju

Algoritmi Google Ads Smart Biddinga zahtijevaju minimalni statistički prag za efikasno učenje:

  • Zlatno pravilo: Kampanja bi trebala generirati najmanje 10 do 20 ciljanih konverzija u aplikaciji dnevno kako bi izašla iz faze učenja („Learning Phase“) i postigla optimalnu efikasnost licitiranja.

U našoj početnoj analizi kreirali smo publiku pod nazivom Quality_Players_Level_3 (igrači koji su prošli Nivo 3 ili više), koja je prikupila 17 igrača.

Da smo odmah pokrenuli kampanju usmjerenu na Nivo 3:

  • Ostvarivanje 15 konverzija Nivoa 3 dnevno zahtijevalo bi ogroman početni budžet za oglašavanje.
  • Sa samo 17 historijskih uzoraka, veličina slične publike (lookalike) za algoritam bila je preuska, što je nosilo rizik od nestabilnih skokova cijene ili potpunog zastoja u prikazivanju („Too small to serve“).

Dvofazno skalabilno rješenje

Umjesto pristupa „sve ili ništa“, primijenili smo postupni lijevak:

flowchart TD
    A["Faza 1: Skaliranje Level 1 Completed"] --> B["Privlači angažovane igrače uz nizak Target CPA"]
    B --> C["Filtrira 100% neaktivnih instalacija iz zone odustajanja"]
    C --> D["Puni publiku 'Quality_Players_Level_3' (100+ igrača)"]
    D --> E["Faza 2: Pomjeranje Target CPA na Nivo 3 / Unapređenje vještina"]
  1. Faza 1 (Volumen i higijena): Optimizacija za level_1_completed. Budući da ~50-60% pravih igrača može preći Nivo 1, kampanja lako postiže 20+ konverzija dnevno uz nizak Target CPA (~0,15 \(- 0,25\)). Time se odmah uklanjaju farme instalacija niske kvalitete i istovremeno gradi aktivna baza korisnika.
  2. Faza 2 (Preciziranje): Kako stotine igrača završavaju Nivo 1, stabilan procenat prirodno napreduje prema Nivoima 3, 5 i 10. Kada skupina publike Quality_Players_Level_3 premaši 100-200 aktivnih korisnika, cilj kampanje može se sigurno preusmjeriti na Nivo 3 ili na ciljeve meta-igre (skill_upgraded) radi maksimalne životne vrijednosti (LTV).

5. Izbor tržišta i geografska arbitraža

Licitiranje na Tier-1 tržištima (SAD, Velika Britanija, Njemačka) s nekalibriranom kampanjom može iscrpiti male nezavisne budžete za nekoliko sati (1,50 \(- 4,00\) po radnji).

Za našu početnu UAC 2.0 probu igre Blocked: Pixel Panzer, odabrali smo stratešku grupu od četiri tržišta s velikim volumenom, visokom isplativošću i bogatom zajednicom igrača:

  1. Turska (TR): Snažna lokalna baza igrača, visok interes za arkadne i akcione igre i niski troškovi akvizicije.
  2. Brazil (BR): Jedno od najvećih Android tržišta na svijetu. Brazilski mobilni igrači imaju veliku strast prema retro estetici i arkadnim borbama.
  3. Meksiko (MX): Drugi po veličini gejming centar Latinske Amerike, koji nudi gust volumen i vjerne zajednice.
  4. Poljska (PL): Idealan evropski poligon za testiranje – znatno veći AdMob eCPM prihod u poređenju sa Južnom Amerikom, uz znatno niže troškove akvizicije korisnika nego u Zapadnoj Evropi.

Nativna lokalizacija: Tajni multiplikator

Prikazivanje oglasa na inostranim tržištima donosi rezultate samo ako iskustvo u samoj igri odgovara opisu u prodavnici. U igri Blocked: Pixel Panzer, sva četiri tržišta podržana su nativnom lokalizacijom odmah nakon pokretanja:

  • tr.json (turski)
  • pt-BR.json (brazilski portugalski)
  • es-419.json (latinoamerički španski)
  • pl.json (poljski)

Kada igrač iz São Paula ili Varšave dodirne oglas, instalira igru i odmah pri pokretanju vidi svoj maternji jezik, uranjanje u igru je trenutno – što dramatično povećava stopu završetka Nivoa 1.

Savjet za ciljanje lokacije: U postavkama lokacije u Google Ads-u, uvijek promijenite zadanu opciju „Prisutnost ili interesovanje“ na „Prisutnost: Osobe koje se nalaze na vašim uključenim lokacijama ili ih redovno posjećuju“. To osigurava da se vaš budžet troši isključivo na korisnike koji fizički borave u ciljnim zemljama, eliminišući saobraćaj sa stranih VPN mreža ili nepovezanih pretraga.


6. Kreativni materijali: Zašto video umnožava i nikada ne kanibalizira

Prilikom sastavljanja oglasnih grupa u Google Ads-u, programeri se često pitaju: „Ako dodam video snimak igranja, hoće li on zasjeniti moje dotjerane snimke ekrana?“

Odgovor je odlučno ne. Google Ads funkcioniše kroz potpuno odvojene višekanalne prostore:

  • Naslovi i snimci ekrana: Dominiraju u rezultatima pretrage na Google Playu, na policama preporučenih aplikacija i u mrežama banera.
  • Video: Otključava masivni oglasni prostor platformi YouTube Shorts, in-stream video oglasa i nagrađivanih video formata (rewarded video) u drugim popularnim mobilnim igrama.

U dinamičnim igrama poput Blocked: Pixel Panzer, statični snimci ekrana mogu prikazati piksel-art, ali samo video može dočarati osjećaj izbjegavanja kiše metaka („bullet-hell“), pokretanja eksplozivnih lančanih reakcija i uništavanja neprijateljskih aviona.

Korisnici koji instaliraju igru nakon gledanja autentičnog videa igranja već razumiju kontrole i mehaniku. Samim tim, njihova stopa konverzije za level_1_completed znatno je viša od korisnika privučenih isključivo statičnom grafikom.


7. Sažeta kontrolna lista za nezavisne programere

Prije pokretanja sljedeće oglasne kampanje za mobilnu igru, provjerite ovu strukturnu listu:

  • Provjerite telemetriju u igri: Uvjerite se da se level_completed i prekretnice nivoa bilježe s čistim parametrima i bez ikakvih alokacija Garbage Collectora na glavnoj niti.
  • Sintetizirajte ključne događaje u GA4: Kreirajte namjenske događaje (npr. level_1_completed) i označite ih kao ključne događaje u GA4.
  • Uvezite u Google Ads: Povežite Firebase i Google Ads, uvezite radnju i označite je kao primarnu.
  • Fokus licitiranja: Odaberite Radnje u aplikaciji (Target CPA) umjesto običnog volumena instalacija.
  • Kalibrišite početni CPA: Postavite realan Target CPA (0,15 \(- 0,30\) zavisno od ranga zemalja) i osigurajte barem 3-4 dana nesmetanog mašinskog učenja.
  • Podijelite lijevak na faze: Počnite s ranom, lako dostižnom prekretnicom (Nivo 1) kako biste izgradili brzinu konverzija, a zatim pređite na dublje ciljeve napredovanja.

Promjenom pristupa sa „kupovine preuzimanja“ na „kupovinu postignuća u igri“, pretvarate oglašavanje iz nepredvidivog troška u pouzdan motor rasta s visokim zadržavanjem igrača.


Napisao inženjerski tim Arar Games / Mayhemco (kreatori igara Paint Trek i Blocked: Pixel Panzer). Istražite Blocked: Pixel Panzer na Google Playu kako biste iz prve ruke doživjeli naše brze retro arkadne bitke.


Hashtags & SEO Topics

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