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

21 Eylül 2026 Pazartesi

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

From CPI Traps to High-Retention Players: Scaling Mobile Games with Firebase In-App Actions and Google Ads (UAC 2.0)

From CPI Traps to High-Retention Players: Scaling Mobile Games with Firebase In-App Actions and Google Ads (UAC 2.0)

Every indie game developer who launches a mobile title eventually faces the Cost-Per-Install (CPI) Paradox:

You launch a paid user acquisition campaign, celebrate a flood of cheap downloads, and watch your Google Play install counter tick upward. But when you open your analytics dashboard 48 hours later, the cold reality sets in:

1,000 Installs ──► 500 Immediate Uninstalls (< 2 mins) ──► 50 Level 1 Completions ──► 5 Retained Players

Over 50% of acquired users deleted the game before finishing the very first level.

If you are running a standard Google Ads App Campaign for Installs (UAC 1.0) with basic CPI bidding, Google’s machine learning algorithm is doing exactly what you instructed it to do: find the cheapest possible users who will tap "Install" on Google Play. Unfortunately, the cheapest users on the ad network are often reward-ad hunters, accidental clickers, or bot-adjacent accounts who never intend to engage with your game.

In this article, we share our real-world engineering and marketing architecture from our fast-paced retro tank action game, Blocked: Pixel Panzer (developed with MonoGame and C# by Arar Games). We will explore how we bridged device-side telemetry with Google Analytics 4 (GA4) and Google Ads App Campaigns for In-App Actions (UAC 2.0) to stop buying empty installs and start acquiring dedicated, high-retention players.


1. Diagnosing the Funnel: What Live Analytics Taught Us

Before spending a single dollar on ad networks, you must know where players drop off.

In Blocked: Pixel Panzer, our telemetry logs core gameplay lifecycles asynchronously to Firebase:

  • first_open
  • screen_view (tracking 40+ custom MonoGame screens)
  • level_completed (with parameters level_number, score, duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (native OS uninstall signal)

When we analyzed uninstalled sessions in GA4 Path Exploration, the data was stark:

  • Out of 63 uninstalled devices examined, ~30 users uninstalled before ever completing Level 1.
  • 14 users churned after upgrading their initial skills inside the gameplay loop.
  • The maximum progress reached among churned users was Level 10 (the first World Boss).
[ User Installs ] 
       │
       ├──► 48% Churn: Drop before completing Level 1  <── (The CPI Waste Zone)
       │
       ├──► 30% Engagement: Upgrade Skills & Reach Level 2-3
       │
       └──► 22% Core Retention: Reach Boss (Level 10) and Meta-Game

The takeaway was undeniable: Paying for raw installs is throwing money into the churn zone.

To build a sustainable game economy, our advertising bidding model needed to optimize for users whose behavioral signature matched players who actually conquer Level 1 and progress toward Level 3.


2. The Mechanics of UAC 2.0: Optimizing for In-App Actions

Google Ads App Campaigns (Universal App Campaigns) come in distinct optimization flavors:

Campaign Model Bidding Focus What the Algorithm Learns Best For
UAC 1.0 (Installs) Maximize Installs / Target CPI Profiles of users who frequently install new apps Early store launch, volume bursts
UAC 2.0 (In-App Actions) Target CPA (Cost-per-Action) Profiles of users likely to complete a specific in-game milestone Sustainable retention, meta-game growth
UAC 2.5 (Value / ROAS) Target ROAS Profiles of high spenders (whales) Games with heavy in-app purchase monetization

Under UAC 2.0 (In-App Actions), you set a Target Cost Per Action (tCPA)—for example, $0.20 per Level 1 completion.

Google’s Smart Bidding neural network then analyzes hundreds of behavioral signals across Google Play, YouTube, Google Search, and millions of apps on the Google Display Network (AdMob). It bids aggressively only when an ad impression matches a user whose historical habits indicate they will download the game, play past the tutorial, and finish Level 1.


3. Step-by-Step Implementation: From C# Telemetry to Google Ads

Here is the exact technical pipeline we used to turn in-game achievements into actionable advertising conversion goals.

Step 1: Device-Side Telemetry Hook (MonoGame / C#)

In Blocked.Shared/Managers/AnalyticsManager.cs, whenever the player clears a combat zone, the game calculates score, damage, and time, then dispatches level_completed without blocking the 60 FPS render thread:

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;
        
        // Dispatches to Android Firebase SDK via JNI (non-blocking SQLite buffer)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemetry must never crash gameplay
        Warn(ex);
    }
}

Step 2: GA4 Event Synthesis (No Client App Update Required)

Google Ads cannot directly bid on parameter sub-queries like level_completed WHERE level_number == 1 out of the box. However, Google Analytics 4 allows you to synthesize custom events in real time from incoming telemetry without pushing an app store update:

  1. In the GA4 Console, navigate to Admin ➔ Data display ➔ Events.
  2. Click Create event and configure:
    • Custom event name: level_1_completed
    • Matching conditions:
      • event_name equals level_completed
      • level_number equals 1
    • Check "Copy parameters from the source event" to preserve scores and session metrics.
  3. Save the configuration.
  4. On the Events or Key events tab, locate level_1_completed and toggle "Mark as key event" to active.

Now, whenever any player on Earth beats Level 1, GA4 automatically emits a dedicated level_1_completed conversion event.

Step 3: Importing Conversion Actions into Google Ads

  1. Open Google Ads (ads.google.com).
  2. Navigate to Goals ➔ Conversions ➔ Summary.
  3. Click New conversion action ➔ Import ➔ Google Analytics 4 properties (Firebase).
  4. Select level_1_completed from the list.
  5. Set the category to Engagement or Level achieved.
  6. Set the conversion action to Primary so Smart Bidding actively optimizes toward it.
[ Mobile Game: Level 1 Cleared ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ Firebase Analytics Engine ]
                │
                │  GA4 Rule: Synthesize "level_1_completed"
                ▼
[ GA4 Key Event (Conversion) ]
                │
                │  Google Ads Linked Integration
                ▼
[ Google Ads Smart Bidding Engine (UAC 2.0 Target CPA) ]

4. Overcoming the Cold-Start Problem: The Funnel Strategy

A common mistake indie developers make when transitioning to UAC 2.0 is aiming too deep into the game too early.

The Machine Learning Volume Rule

Google Ads Smart Bidding algorithms require a minimum statistical threshold to train effectively:

  • Golden Rule: A campaign should generate at least 10 to 20 target in-app conversions per day to exit the "Learning Phase" and achieve optimal bidding efficiency.

In our early analytics audit, we had created an audience named Quality_Players_Level_3 (players who cleared Level 3 or higher), which had accumulated 17 players.

If we had launched a campaign targeting Level 3 immediately:

  • Generating 15 Level 3 conversions daily would require massive upfront ad spend.
  • With only 17 historical seeds, the algorithm’s lookalike sample size was too narrow, risking volatile bidding spikes or zero delivery ("Too small to serve").

The Two-Stage Scalpel Solution

Instead of an all-or-nothing approach, we adopted a phased funnel:

flowchart TD
    A["Phase 1: Scale Level 1 Completed"] --> B["Acquires engaged players at low tCPA"]
    B --> C["Filters 100% of non-playing install churners"]
    C --> D["Fills 'Quality_Players_Level_3' Audience (100+ players)"]
    D --> E["Phase 2: Shift Target CPA to Level 3 / Skill Upgrades"]
  1. Stage 1 (Volume & Hygiene): Optimize for level_1_completed. Because 50-60% of genuine gamers can beat Level 1, the campaign easily secures 20+ conversions daily at a low target CPA ($0.15 - $0.25). This instantly purges low-quality install farms while building an active user base.
  2. Stage 2 (Refinement): As hundreds of players complete Level 1, a steady percentage naturally progresses to Level 3, 5, and 10. Once the Quality_Players_Level_3 pool exceeds 100-200 active users, the campaign target can safely transition to Level 3 or meta-game milestones (skill_upgraded) for maximum lifetime value.

5. Market Selection & Geographical Arbitrage

Bidding on Tier-1 markets (USA, UK, Germany) with an uncalibrated campaign can exhaust small indie budgets within hours ($1.50 - $4.00 per action).

For our initial UAC 2.0 test run of Blocked: Pixel Panzer, we selected a strategic cluster of four high-volume, cost-efficient, and gaming-rich markets:

  1. Turkey (TR): Strong local player base, high engagement with arcade/action titles, and low acquisition costs.
  2. Brazil (BR): One of the largest Android gaming markets on Earth. Brazilian mobile players have immense passion for retro aesthetics and arcade combat.
  3. Mexico (MX): The second-largest Latin American gaming hub, offering dense volume and loyal player communities.
  4. Poland (PL): An ideal European testbed—significantly higher AdMob eCPM monetization than South America, yet substantially lower user acquisition costs than Western Europe.

Native Localization: The Secret Multiplier

Running ads in foreign markets only converts if the in-game experience matches the store listing. In Blocked: Pixel Panzer, all four markets are supported with native localization out of the box:

  • tr.json (Turkish)
  • pt-BR.json (Brazilian Portuguese)
  • es-419.json (Latin American Spanish)
  • pl.json (Polish)

When a player from São Paulo or Warsaw taps an ad, installs the game, and hears their native tongue immediately upon launch, immersion is instantaneous—drastically boosting Level 1 completion rates.

Location Targeting Pro-Tip: In Google Ads Location settings, always switch the default "Presence or interest" to "Presence: People in or regularly in your included locations". This ensures your budget is exclusively spent on users physically residing in your target countries, eliminating traffic from foreign VPNs or unrelated search queries.


6. Creative Assets: Why Video Multiplies, Never Cannibalizes

When assembling Google Ads creative groups, developers often ask: “If I add gameplay video, will it overshadow my polished screenshots?”

The answer is an emphatic no. Google Ads operates across distinct multi-channel inventories:

  • Headlines & Screenshots: Dominate Google Play search queries, recommended apps trays, and display banner networks.
  • Video: Unlocks the massive inventory of YouTube Shorts, in-stream pre-rolls, and rewarded video placements across other popular mobile games.

In high-intensity games like Blocked: Pixel Panzer, static screenshots can show pixel art, but only video can demonstrate the feel of dodging bullet-hell swarms, detonating explosive chain reactions, and destroying enemy fighter jets.

Players who install after watching genuine gameplay video already understand the controls and mechanics. Consequently, their conversion rate on level_1_completed is dramatically higher than users acquired through static graphics alone.


7. Summary Checklist for Indie Developers

Before launching your next mobile game ad campaign, run through this architectural checklist:

  • Verify In-Game Telemetry: Ensure level_completed and level milestones are logged with clean parameters and zero main-thread GC allocations.
  • Synthesize GA4 Key Events: Create dedicated events (e.g. level_1_completed) and mark them as Key Events in GA4.
  • Import to Google Ads: Link Firebase and Google Ads, import the action, and mark it as Primary.
  • Bidding Focus: Choose In-App Actions (Target CPA) rather than raw install volume.
  • Calibrate Starting CPA: Set realistic target CPAs ($0.15 - $0.30 depending on target country tiers) and allow at least 3-4 days of uninterrupted machine learning.
  • Stage Your Funnel: Start with an early, achievable milestone (Level 1) to build conversion velocity, then graduate to deeper progression targets.

By shifting your mindset from buying downloads to buying gameplay milestones, you turn advertising from an unpredictable expense into a repeatable, high-retention growth engine.


Written by the engineering team at Arar Games / Mayhemco. Explore Blocked: Pixel Panzer on Google Play to experience our fast-paced retro arcade combat firsthand.


Hashtags & SEO Topics

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