21 Eylül 2026 Pazartesi

Från CPI-fällor till lojala spelare: Skala mobilspel med Firebase In-App Actions och Google Ads (UAC 2.0)




Från CPI-fällor till lojala spelare: Skala mobilspel med Firebase In-App Actions och Google Ads (UAC 2.0)

Varje indiespelutvecklare som lanserar en mobiltitel möter förr eller senare Cost-Per-Install (CPI)-paradoxen:

Du startar en betald kampanj för användarförvärv (User Acquisition), gläds åt en ström av billiga nedladdningar och ser installationsräknaren på Google Play stiga snabbt. Men när du öppnar din analyspanel 48 timmar senare slår den bistra verkligheten till:

1 000 installationer ──► 500 omedelbara avinstallationer (< 2 min) ──► 50 nivå 1-slutföranden ──► 5 behållna spelare

Över 50 % av de förvärvade användarna raderade spelet innan de ens klarat av den allra första nivån.

Om du kör en traditionell Google Ads-appkampanj för installationer (UAC 1.0) med grundläggande CPI-budgivning gör Googles maskininlärningsalgoritm exakt vad du bad den om: att hitta de billigaste möjliga användarna som trycker på "Installera" på Google Play. Tyvärr är de billigaste användarna i annonsnätverket ofta jägare av belöningsannonser, oavsiktliga klickare eller konton nära botnätverk som aldrig har för avsikt att faktiskt engagera sig i ditt spel.

I den här artikeln delar vi vår verkliga teknik- och marknadsföringsarkitektur från vårt fartfyllda retro-stridsvagnsactionspel, Blocked: Pixel Panzer (utvecklat med MonoGame och C# av Arar Games). Vi utforskar hur vi kopplade samman telemetri på enhetsnivå med Google Analytics 4 (GA4) och Google Ads-appkampanjer för åtgärder i appen (UAC 2.0) för att sluta köpa tomma installationer och istället börja förvärva engagerade spelare med hög retention.


1. Diagnostisera tratten: Vad live-analys lärde oss

Innan du spenderar en enda krona på annonsnätverk måste du veta exakt var spelarna faller bort.

I Blocked: Pixel Panzer loggar vår telemetri spelets centrala livscykler asynkront till Firebase:

  • first_open
  • screen_view (spårning av över 40 anpassade MonoGame-skärmar)
  • level_completed (med parametrarna level_number, score, duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (operativsystemets inbyggda signal för avinstallation)

När vi analyserade avinstallerade sessioner i GA4 Path Exploration var datan slående:

  • Av 63 granskade avinstallerade enheter hade ~30 användare avinstallerat spelet innan de ens klarade Nivå 1.
  • 14 användare lämnade spelet direkt efter att ha uppgraderat sina första färdigheter i spelloopen.
  • Den maximala framgången bland avhoppade användare var Nivå 10 (den första världs-bossen).
[ Användarinstallationer ] 
       │
       ├──► 48 % bortfall: Slutar innan Nivå 1 slutförts <── (CPI-slöserizonen)
       │
       ├──► 30 % engagemang: Uppgraderar färdigheter och når Nivå 2–3
       │
       └──► 22 % kärnretention: Når bossen (Nivå 10) och metaspelet

Slutsatsen var obestridlig: Att betala för råa installationer är att kasta pengar rakt in i avhoppszonen.

För att bygga en hållbar spelekonomi behövde vår budgivningsmodell optimeras för användare vars beteendesignatur matchar spelare som faktiskt klarar Nivå 1 och fortsätter mot Nivå 3.


2. Mekaniken bakom UAC 2.0: Optimering för in-app-åtgärder

Google Ads-appkampanjer (Universal App Campaigns) erbjuder distinkta optimeringsmodeller:

Kampanjmodell Budgivningsfokus Vad algoritmen lär sig Bäst lämpad för
UAC 1.0 (Installationer) Maximera installationer / Mål-CPI Profiler hos användare som ofta installerar nya appar Tidig lansering, snabb volymökning
UAC 2.0 (In-App Actions) Target CPA (Kostnad per åtgärd) Profiler hos användare som sannolikt slutför en specifik milstolpe i spelet Hållbar retention, tillväxt i metaspelet
UAC 2.5 (Värde / ROAS) Target ROAS Profiler hos användare med högt köpbeteende (valar) Spel med tung intäktsgenerering via köp i appen

Under UAC 2.0 (In-App Actions) sätter du ett Target Cost Per Action (Target CPA) – till exempel 0,20 $ per slutförd Nivå 1.

Googles Smart Bidding-neuronnätverk analyserar sedan hundratals beteendesignaler över Google Play, YouTube, Google Sök och miljontals appar i Googles Displaynätverk (AdMob). Det bjuder aggressivt endast när en annonsvisning matchar en användare vars historiska vanor indikerar att de kommer att ladda ner spelet, spela förbi introduktionen och klara Nivå 1.


3. Steg-för-steg-implementering: Från C#-telemetri till Google Ads

Här är den exakta tekniska pipelinen vi använde för att förvandla framsteg i spelet till mätbara konverteringsmål i marknadsföringen.

Steg 1: Telemetri-hook på enhetsnivå (MonoGame / C#)

I Blocked.Shared/Managers/AnalyticsManager.cs, när spelaren klarar en stridszon, beräknar spelet poäng, skada och tid och skickar sedan level_completed utan att blockera renderings-tråden på 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;
        
        // Skickas till Android Firebase SDK via JNI (icke-blockerande SQLite-buffert)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemetri får aldrig krascha spelupplevelsen
        Warn(ex);
    }
}

Steg 2: Skapa syntetiska GA4-händelser (Ingen appuppdatering krävs)

Google Ads kan inte direkt bjuda på parameterunderfrågor som level_completed WHERE level_number == 1 direkt ur lådan. Google Analytics 4 låter dig dock skapa anpassade händelser syntetiskt i realtid från inkommande telemetri utan att behöva släppa en uppdatering i appbutiken:

  1. I GA4-konsolen, navigera till Admin ➔ Data display ➔ Events.
  2. Klicka på Create event och konfigurera följande:
    • Custom event name: level_1_completed
    • Matching conditions:
      • event_name equals level_completed
      • level_number equals 1
    • Markera "Copy parameters from the source event" för att bevara poäng och sessionsmått.
  3. Spara konfigurationen.
  4. På fliken Events eller Key events, leta upp level_1_completed och aktivera "Mark as key event".

Nu genererar GA4 automatiskt en dedikerad level_1_completed-konverteringshändelse varje gång en spelare var som helst i världen klarar Nivå 1.

Steg 3: Importera konverteringsåtgärder till Google Ads

  1. Öppna Google Ads (ads.google.com).
  2. Gå till Mål ➔ Konverteringar ➔ Sammanfattning.
  3. Klicka på Ny konverteringsåtgärd ➔ Importera ➔ Google Analytics 4-egendomar (Firebase).
  4. Välj level_1_completed i listan.
  5. Sätt kategorin till Engagemang eller Uppnådd nivå.
  6. Ställ in konverteringsåtgärden som Primär så att Smart Bidding aktivt optimerar mot den.
[ Mobilspel: Nivå 1 klarad ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ Firebase Analytics Engine ]
                │
                │  GA4-regel: Skapa syntetiskt "level_1_completed"
                ▼
[ GA4 Key Event (Konvertering) ]
                │
                │  Google Ads-länkad integration
                ▼
[ Google Ads Smart Bidding Engine (UAC 2.0 Target CPA) ]

4. Hantera kallstartsproblemet: Trattstrategin

Ett vanligt misstag indiespelutvecklare gör vid övergång till UAC 2.0 är att sikta för djupt in i spelet för tidigt.

Volymregeln för maskininlärning

Googles algoritmer för Smart Bidding kräver ett statistiskt minimitröskelvärde för att träna effektivt:

  • Den gyllene regeln: En kampanj bör generera minst 10 till 20 målkonverteringar i appen per dag för att lämna "Lärandefasen" och uppnå optimal budgivningseffektivitet.

I vår tidiga analysrevision skapade vi en målgrupp som hette Quality_Players_Level_3 (spelare som klarat Nivå 3 eller högre), vilken hade samlat 17 spelare.

Om vi hade lanserat en kampanj med direkt inriktning på Nivå 3:

  • Att generera 15 konverteringar av Nivå 3 dagligen hade krävt massiva initiala annonsutgifter.
  • Med endast 17 historiska datapunkter var algoritmens lookalike-urval för smalt, vilket riskerade kraftiga budspikar eller uteblivna visningar ("Too small to serve").

Tvåstegslösningen för tratten

Istället för en allt-eller-inget-ansats tillämpade vi en fasindelad tratt:

flowchart TD
    A["Fas 1: Skala Level 1 Completed"] --> B["Förvärvar engagerade spelare till låg tCPA"]
    B --> C["Filtrerar bort 100 % av oengagerade installationsavhoppare"]
    C --> D["Fyller målgruppen 'Quality_Players_Level_3' (100+ spelare)"]
    D --> E["Fas 2: Skifta Target CPA till Nivå 3 / Färdighetsuppgraderingar"]
  1. Fas 1 (Volym och hygien): Optimera för level_1_completed. Eftersom ~50–60 % av genuina spelare klarar Nivå 1 säkrar kampanjen enkelt 20+ konverteringar per dag till en låg Target CPA (~0,15 \(– 0,25\)). Detta rensar omedelbart bort lågkvalitativa installationsfarmar samtidigt som en aktiv användarbas byggs upp.
  2. Fas 2 (Förfining): När hundratals spelare klarar Nivå 1 fortsätter en stabil andel naturligt till Nivå 3, 5 och 10. När poolen Quality_Players_Level_3 överstiger 100–200 aktiva användare kan kampanjens målsättning tryggt flyttas till Nivå 3 eller milstolpar i metaspelet (skill_upgraded) för maximalt livstidsvärde.

5. Marknadsval och geografisk arbitrage

Att bjuda på Tier-1-marknader (USA, Storbritannien, Tyskland) med en okalibrerad kampanj kan tömma en begränsad indiebudget på några timmar (1,50 \(– 4,00\) per åtgärd).

För vår inledande UAC 2.0-testkörning av Blocked: Pixel Panzer valde vi ett strategiskt kluster av fyra marknader med hög volym, kostnadseffektivitet och stor spelpassion:

  1. Turkiet (TR): Stark lokal spelarbas, högt engagemang i arkad-/actiontitlar och låga anskaffningskostnader.
  2. Brasilien (BR): En av världens största marknader för Android-spel. Brasilianska mobilspelare har en enorm passion för retroestetik och arkadstrider.
  3. Mexiko (MX): Det näst största latinamerikanska spelcentret med stor volym och lojala spelargemenskaper.
  4. Polen (PL): En idealisk europeisk testmarknad – betydligt högre AdMob eCPM-intäkter än Sydamerika, men avsevärt lägre förvärvskostnader än Västeuropa.

Naturlig lokalisering: Den hemliga multiplikatorn

Att köra annonser på utländska marknader konverterar bara om upplevelsen i spelet matchar butikens presentation. I Blocked: Pixel Panzer stöds alla fyra marknader med fullständig lokalisering från start:

  • tr.json (Turkiska)
  • pt-BR.json (Brasiliansk portugisiska)
  • es-419.json (Latinamerikansk spanska)
  • pl.json (Polska)

När en spelare från São Paulo eller Warszawa trycker på en annons, installerar spelet och omedelbart möts av sitt eget modersmål sker fördjupningen direkt – vilket dramatiskt ökar andelen som slutför Nivå 1.

Proffstips för platsinriktning: I platsinställningarna i Google Ads, ändra alltid standardvalet "Närvaro eller intresse" till "Närvaro: Personer som befinner sig i eller regelbundet besöker dina inkluderade platser". Detta säkerställer att din budget uteslutande läggs på användare som fysiskt befinner sig i dina målländer, vilket eliminerar trafik från utländska VPN-tjänster eller irrelevanta sökningar.


6. Kreativa tillgångar: Varför video multiplicerar och aldrig kannibaliserar

När utvecklare sätter samman annonsmaterial i Google Ads ställer de sig ofta frågan: ”Om jag lägger till en gameplay-video, kommer den då att överskugga mina finslipade skärmdumpar?”

Svaret är ett eftertryckligt nej. Google Ads arbetar över skilda flerkanalsinventarier:

  • Rubriker och skärmdumpar: Dominerar sökningar på Google Play, rekommenderade app-hyllor och display-bannernätverk.
  • Video: Låser upp den enorma räckvidden på YouTube Shorts, instream-annonser och premierade videoplatser (rewarded video) i andra populära mobilspel.

I högintensiva spel som Blocked: Pixel Panzer kan statiska skärmdumpar visa pixelgrafik, men endast video kan förmedla känslan av att ducka för kulsvärmar (bullet hell), utlösa explosiva kedjereaktioner och förinta fientliga stridsflygplan.

Spelare som installerar efter att ha sett äkta spelvideo förstår redan kontrollerna och mekaniken. Följaktligen är deras konverteringsgrad på level_1_completed dramatiskt högre än för användare som enbart förvärvats via statiska bilder.


7. Sammanfattande checklista för indieutvecklare

Innan du lanserar din nästa annonskampanj för mobilspel bör du gå igenom denna tekniska checklista:

  • Verifiera telemetri i spelet: Säkerställ att level_completed och nivåmilstolpar loggas med rena parametrar och noll GC-allokeringar i huvudtråden.
  • Skapa syntetiska nyckelhändelser i GA4: Skapa dedikerade händelser (t.ex. level_1_completed) och markera dem som Key Events i GA4.
  • Importera till Google Ads: Länka Firebase och Google Ads, importera åtgärden och markera den som Primär.
  • Fokus för budgivning: Välj In-App Actions (Target CPA) istället för rå installationsvolym.
  • Kalibrera ingångs-CPA: Sätt realistiska målnivåer för CPA (0,15 \(– 0,30\) beroende på landsnivå) och tillåt minst 3–4 dagars oavbruten maskininlärning.
  • Fasindela din tratt: Börja med en tidig, uppnåelig milstolpe (Nivå 1) för att bygga konverteringstakt, och gå sedan vidare till djupare progressionsmål.

Genom att ändra inställning från att köpa nedladdningar till att köpa spelmässiga milstolpar förvandlar du marknadsföringen från en oberäknelig utgift till en pålitlig tillväxtmotor för lojala spelare med hög retention.


Skriven av ingenjörsteamet på Arar Games / Mayhemco. Utforska Blocked: Pixel Panzer på Google Play för att uppleva vår snabba retroarkadaction på nära håll.


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