Fra CPI-fælden til loyale spillere: Skalering af mobilspil med Firebase In-App Actions og Google Ads (UAC 2.0)
Enhver indie-spiludvikler, der lancerer en mobiltitel, står før eller siden over for Cost-Per-Install (CPI)-paradokset:
Du lancerer en betalt brugeranskaffelseskampagne (User Acquisition), glæder dig over en bølge af billige downloads og ser installationstælleren på Google Play stige støt. Men når du åbner dit analyse-dashboard 48 timer senere, rammer den barske virkelighed:
1.000 installationer ──► 500 øjeblikkelige afinstallationer (< 2 min.) ──► 50 gennemførelser af niveau 1 ──► 5 fastholdte spillere
Over 50 % af de erhvervede brugere slettede spillet, inden de overhovedet havde gennemført det allerførste niveau.
Hvis du kører en standard Google Ads-appkampagne til installationer (UAC 1.0) med grundlæggende CPI-budgivning, gør Googles maskinlæringsalgoritme præcis, hvad du har bedt den om: find de billigst mulige brugere, som trykker på "Installer" på Google Play. Desværre er de billigste brugere på annoncenetværket ofte belønningsannonce-jægere, tilfældige klikkere eller konti tæt på botnetværk, som aldrig har til hensigt at engagere sig i dit spil.
I denne artikel deler vi vores virkelige udviklings- og markedsføringsarkitektur fra vores tempofyldte retro-kampvognsactionspil, Blocked: Pixel Panzer (udviklet med MonoGame og C# af Arar Games). Vi vil undersøge, hvordan vi forbandt telemetri på enhedsniveau med Google Analytics 4 (GA4) og Google Ads-appkampagner til handlinger i appen (UAC 2.0) for at stoppe med at købe tomme installationer og i stedet tiltrække dedikerede spillere med høj fastholdelse.
1. Diagnosticering af tragten: Hvad live-analyse lærte os
Før du bruger en eneste krone på annoncenetværk, er du nødt til at vide, hvor spillerne falder fra.
I Blocked: Pixel Panzer logger vores telemetri spillets centrale livscyklusser asynkront til Firebase:
first_openscreen_view(sporing af mere end 40 tilpassede MonoGame-skærme)level_completed(med parametrenelevel_number,score,duration_seconds)skill_upgradedboss_fight_resultapp_remove(operativsystemets indbyggede afinstallationssignal)
Da vi analyserede afinstallerede sessioner i GA4 Path Exploration, var dataene entydige:
- Ud af 63 undersøgte afinstallerede enheder havde ~30 brugere afinstalleret spillet, før de overhovedet gennemførte Niveau 1.
- 14 brugere faldt fra umiddelbart efter at have opgraderet deres første færdigheder i spillets kerneløkke.
- Det længste fremskridt blandt afhoppede brugere var Niveau 10 (den første verdensboss).
[ Brugerinstallationer ]
│
├──► 48 % frafald: Forlader spillet inden gennemførelse af Niveau 1 <── (CPI-spildzonen)
│
├──► 30 % engagement: Opgraderer færdigheder og når Niveau 2-3
│
└──► 22 % kernefastholdelse: Når bossen (Niveau 10) og metaspillet
Læren var uomtvistelig: At betale for rå installationer er at kaste penge direkte i spildzonen.
For at opbygge en bæredygtig spiløkonomi var vores budmodel nødt til at optimere mod brugere, hvis adfærdssignatur matcher spillere, der rent faktisk overvinder Niveau 1 og fortsætter fremad mod Niveau 3.
2. Mekanikken i UAC 2.0: Optimering til in-app-handlinger
Google Ads App-kampagner (Universal App Campaigns) findes i distinkte optimeringsvarianter:
| Kampagnemodel | Budfokus | Hvad algoritmen lærer | Bedst egnet til |
|---|---|---|---|
| UAC 1.0 (Installationer) | Maksimer installationer / Mål-CPI | Profiler på brugere, der ofte installerer nye apps | Tidlig lancering i butikken, hurtig volumen |
| UAC 2.0 (Handlinger i appen) | Target CPA (Pris pr. handling) | Profiler på brugere, der sandsynligvis gennemfører en bestemt milepæl i spillet | Bæredygtig fastholdelse, vækst i metaspillet |
| UAC 2.5 (Værdi / ROAS) | Target ROAS | Profiler på brugere med højt forbrug (hvaler) | Spil med massiv indtægtsgenerering via køb i appen |
Under UAC 2.0 (Handlinger i appen) fastsætter du en Target Cost Per Action (Target CPA) – eksempelvis 0,20 $ pr. gennemførelse af Niveau 1.
Googles neurale netværk for Smart Bidding analyserer derefter hundredvis af adfærdssignaler på tværs af Google Play, YouTube, Google Søgning og millioner af apps på Google Displaynetværket (AdMob). Det byder aggressivt kun, når en annoncevisning matcher en bruger, hvis historiske vaner indikerer, at vedkommende vil downloade spillet, spille forbi introduktionen og fuldføre Niveau 1.
3. Trin-for-trin implementering: Fra C#-telemetri til Google Ads
Her er den nøjagtige tekniske pipeline, vi brugte til at omdanne fremskridt i spillet til handlekraftige konverteringsmål for annoncering.
Trin 1: Telemetri-krog på enheden (MonoGame / C#)
I Blocked.Shared/Managers/AnalyticsManager.cs beregner spillet score, skade og tid, hver gang spilleren rydder en kampzone, og sender derefter level_completed uden at blokere 60 FPS gengivelsestråden:
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;
// Sendes til Android Firebase SDK via JNI (ikke-blokerende SQLite-buffer)
_service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
}
catch (Exception ex)
{
// Telemetri må aldrig få spillet til at gå ned
Warn(ex);
}
}
Trin 2: Syntetisering af GA4-hændelser (Ingen appopdatering påkrævet)
Google Ads kan ikke byde direkte på parameterunderforespørgsler såsom level_completed WHERE level_number == 1 som standard. Men Google Analytics 4 giver dig mulighed for at syntetisere tilpassede hændelser i realtid ud fra indkommende telemetri uden at udrulle en opdatering i appbutikken:
- I GA4-konsollen, gå til Admin ➔ Data display ➔ Events.
- Klik på Create event og konfigurer:
- Custom event name:
level_1_completed - Matching conditions:
event_nameequalslevel_completedlevel_numberequals1
- Markér "Copy parameters from the source event" for at bevare scores og sessionsmålinger.
- Custom event name:
- Gem konfigurationen.
- På fanen Events eller Key events, find
level_1_completedog slå "Mark as key event" til.
Nu udsender GA4 automatisk en dedikeret level_1_completed-konverteringshændelse, hver gang en spiller et vilkårligt sted i verden gennemfører Niveau 1.
Trin 3: Import af konverteringshandlinger til Google Ads
- Åbn Google Ads (
ads.google.com). - Gå til Mål ➔ Konverteringer ➔ Oversigt.
- Klik på Ny konverteringshandling ➔ Import ➔ Google Analytics 4-ejendomme (Firebase).
- Vælg
level_1_completedfra listen. - Sæt kategorien til Engagement eller Opnået niveau.
- Indstil konverteringshandlingen som Primær, så Smart Bidding aktivt optimerer mod den.
[ Mobilspil: Niveau 1 gennemført ]
│
│ LogEvent("level_completed", { level_number: 1 })
▼
[ Firebase Analytics Engine ]
│
│ GA4-regel: Syntetiser "level_1_completed"
▼
[ GA4 Key Event (Konvertering) ]
│
│ Google Ads forbundet integration
▼
[ Google Ads Smart Bidding Engine (UAC 2.0 Target CPA) ]
4. Sådan overvindes koldstartsproblemet: Tragtstrategien
En almindelig fejl, som indie-udviklere begår ved overgangen til UAC 2.0, er at sigte for dybt ind i spillet for tidligt.
Læringsvolumen for maskinlæring
Googles algoritmer for Smart Bidding kræver en statistisk minimumstærskel for at træne effektivt:
- Den gyldne regel: En kampagne bør generere mindst 10 til 20 målkonverteringer i appen om dagen for at forlade "Læringsfasen" og opnå optimal budgivningseffektivitet.
I vores tidlige analysegennemgang oprettede vi en målgruppe ved navn Quality_Players_Level_3 (spillere, der havde gennemført Niveau 3 eller højere), som havde akkumuleret 17 spillere.
Hvis vi havde lanceret en kampagne med direkte målretning mod Niveau 3 med det samme:
- Ville det have krævet massive annonceudgifter på forhånd at generere 15 Niveau 3-konverteringer dagligt.
- Med kun 17 historiske datamønstre var algoritmens sammenligningsgrundlag for snævert, hvilket risikerede uregelmæssige budstigninger eller fuldstændig standsning af visninger ("Too small to serve").
Den to-trins tragtløsning
I stedet for en alt-eller-intet-tilgang valgte vi en faset tragtmodel:
flowchart TD
A["Fase 1: Skaler Level 1 Completed"] --> B["Hverver engagerede spillere til lav tCPA"]
B --> C["Filtrerer 100 % af ikke-spillende installationsafhoppere fra"]
C --> D["Fyld 'Quality_Players_Level_3' målgruppen (100+ spillere)"]
D --> E["Fase 2: Skift Target CPA til Niveau 3 / Færdighedsopgraderinger"]
- Trin 1 (Volumen og hygiejne): Optimer til
level_1_completed. Da ca. 50–60 % af ægte spillere kan klare Niveau 1, sikrer kampagnen nemt 20+ konverteringer dagligt til en lav Target CPA (~0,15 \(– 0,25\)). Dette renser øjeblikkeligt ud i lavkvalitets installationsfarme og opbygger en aktiv brugerbase. - Trin 2 (Finjustering): Efterhånden som hundredvis af spillere gennemfører Niveau 1, bevæger en stabil procentdel sig naturligt videre til Niveau 3, 5 og 10. Når puljen
Quality_Players_Level_3overstiger 100–200 aktive brugere, kan kampagnens målsætning sikkert overgå til Niveau 3 eller metaspilsmilepæle (skill_upgraded) for maksimal levetidsværdi.
5. Markedsudvælgelse og geografisk arbitrage
At byde på Tier-1-markeder (USA, Storbritannien, Tyskland) med en ukalibreret kampagne kan opbruge små indie-budgetter på få timer (1,50 \(– 4,00\) pr. handling).
Til vores indledende UAC 2.0-testkørsel for Blocked: Pixel Panzer udvalgte vi en strategisk klynge af fire højvolumen, omkostningseffektive og spilleglade markeder:
- Tyrkiet (TR): Stærk lokal spillerbase, stort engagement i arkade-/actiontitler og lave anskaffelsesomkostninger.
- Brasilien (BR): Et af verdens største Android-spilmarkeder. Brasilianske mobilspillere har en enorm passion for retroæstetik og arkadekampe.
- Mexico (MX): Det næststørste latinamerikanske spilknudepunkt med tæt volumen og loyale spillerfællesskaber.
- Polen (PL): Et ideelt europæisk testmarked – markant højere AdMob eCPM-indtægter end Sydamerika, men væsentligt lavere brugeranskaffelsesomkostninger end Vesteuropa.
Indbygget lokalisering: Den hemmelige multiplikator
At køre annoncer på udenlandske markeder konverterer kun, hvis oplevelsen inde i spillet matcher butikkens præsentation. I Blocked: Pixel Panzer understøttes alle fire markeder med fuld indbygget lokalisering fra dag ét:
tr.json(Tyrkisk)pt-BR.json(Brasiliansk portugisisk)es-419.json(Latinamerikansk spansk)pl.json(Polsk)
Når en spiller fra São Paulo eller Warszawa trykker på en annonce, installerer spillet og straks møder sit modersmål, sker indlevelsen med det samme – hvilket øger gennemførelsesprocenten for Niveau 1 markant.
Tip til geografisk målretning: Under placeringsindstillingerne i Google Ads skal du altid ændre standardindstillingen "Tilstedeværelse eller interesse" til "Tilstedeværelse: Personer, der befinder sig i eller regelmæssigt besøger dine inkluderede lokationer". Dette sikrer, at dit budget udelukkende bruges på brugere, der fysisk befinder sig i dine mållande, og udelukker trafik fra udenlandske VPN-forbindelser eller uvedkommende søgninger.
6. Kreative elementer: Hvorfor video forstærker og aldrig kannibaliserer
Når udviklere sammensætter annonceaktiver i Google Ads, spørger de ofte: “Hvis jeg tilføjer gameplay-videoer, vil det så overskygge mine flotte screenshots?”
Svaret er et rungende nej. Google Ads arbejder på tværs af særskilte multikanal-opgørelser:
- Overskrifter og skærmbilleder: Dominerer Google Play-søgeresultater, sektioner for anbefalede apps og display-bannernetværk.
- Video: Åbner op for det enorme inventar på YouTube Shorts, instream-prerolls og belønnede videoplaceringer (rewarded video) i andre populære mobilspil.
I tempofyldte spil som Blocked: Pixel Panzer kan statiske skærmbilleder vise pixelgrafikken, men kun video kan demonstrere følelsen af at undvige sværme af kugler (bullet-hell), udløse eksplosive kædereaktioner og ødelægge fjendtlige jagerfly.
Spillere, der installerer efter at have set autentisk gameplay-video, forstår allerede styringen og mekanikken. Følgelig er deres konverteringsrate på level_1_completed markant højere end hos brugere, der udelukkende er erhvervet via statisk grafik.
7. Tjekliste for indie-udviklere
Før du lancerer din næste mobilspils-annoncekampagne, bør du gennemgå denne tjekliste:
- Bekræft spillets telemetri: Sørg for, at
level_completedog niveaumilepæle logges med rene parametre og nul GC-allokeringer på hovedtråden. - Syntetiser GA4-nøglehændelser: Opret dedikerede hændelser (f.eks.
level_1_completed) og markér dem som nøglehændelser i GA4. - Importer til Google Ads: Forbind Firebase og Google Ads, importer handlingen, og marker den som Primær.
- Budfokus: Vælg Handlinger i appen (Target CPA) frem for ren installationsvolumen.
- Kalibrer start-CPA: Fastsæt realistiske mål-CPA'er (0,15 \(– 0,30\) afhængigt af landets niveau) og giv algoritmen mindst 3-4 dages uforstyrret maskinlæring.
- Faseopdel din tragt: Start med en tidlig, opnåelig milepæl (Niveau 1) for at opbygge konverteringshastighed, og gå derefter gradvist over til dybere progressionsmål.
Ved at flytte dit fokus fra at købe downloads til at købe spilmæssige milepæle, forvandler du annoncering fra en uforudsigelig udgift til en gentagelig vækstmotor med høj spillerfastholdelse.
Skrevet af ingeniørteamet hos Arar Games / Mayhemco. Udforsk Blocked: Pixel Panzer på Google Play for at opleve vores hæsblæsende retro-arcadeaction på første hånd.
Hashtags & SEO Topics
#BlockedPixelPanzer #ArarGames #Mayhemco #PaintTrek #MonoGame #GoogleAds #FirebaseAnalytics #GA4 #MobileGameDev #UserAcquisition #GameMarketing #SmartBidding #TargetCPA #InAppActions #IndieGameDev #GameAnalytics #AndroidDev
Hiç yorum yok:
Yorum Gönder