Doodle increases user engagement 42% with Crashlytics and Firebase
Introduction
Doodle helps you find the best date and time to meet people, with
apps on Android, iOS, and the web. They decided to redesign their
native app, as part of an effort to increase engagement and
retention. The team divided the redesign into two phases. They
first improved the app's stability with Crashlytics, then ran A/B
tests on their onboarding and poll creation feature with Firebase
Remote Config.
Challenge
Before overhauling the flow and aesthetic of their mobile app,
Doodle wanted to improve app quality and bring their crash-free
user rate close to 100%. But manually tracking and resolving
crashes takes time.
Additionally, their seven-day retention metrics were lower than
the team wanted. Suspecting that they were losing users during
onboarding, Doodle sought to update the onboarding process and
streamline the signup flow, so users could understand Doodle's
value and accomplish tasks more quickly. But how could Doodle
test interface changes without disrupting users?
Solution
"Crashlytics saved us time by surfacing crashes and helping us
pinpoint their root cause," says Alexander Thiele, a senior
Android engineer at Doodle. "One feature we find particularly
useful is adding logs and keys to our crash reports to help us
troubleshoot tricky crashes. We also record non-fatal issues,
which gives us more insight into what's going on in our app."
After improving app stability, the Doodle team shifted their
focus to making design updates.
"We used Firebase Remote Config to test both our user
onboarding and the poll-creation flow," Thiele says. "In the
end, one flow created over 42% more polls, a major increase
in our most important user engagement metric."
With Firebase Remote Config, Doodle was able to test UI
changes before widely implementing them, and with Crashlytics,
they had confidence that they would immediately know about any
stability issues that arose. Redesigning an app isn't easy,
but having the right developer tools ensured Doodle had a
smooth experience.
Results
42% increase in poll creation
6% better 7-day retention
15% more daily active users
"By combining Crashlytics' real-time crash reporting with the ability to deploy remote changes to a subset of users through Remote Config, we were able to grow our daily active users beyond our expectations!"
- Alexander Thiele, Senior Android Engineer, Doodle
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[],null,["# Doodle Case Study\n\n[*arrow_back*\nExplore other case studies](/case-studies) \n[View more solutions](/solutions) \n\n##### Doodle increases user engagement 42% with Crashlytics and Firebase\n\n*** ** * ** ***\n\n##### Introduction\n\nDoodle helps you find the best date and time to meet people, with\napps on Android, iOS, and the web. They decided to redesign their\nnative app, as part of an effort to increase engagement and\nretention. The team divided the redesign into two phases. They\nfirst improved the app's stability with Crashlytics, then ran A/B\ntests on their onboarding and poll creation feature with Firebase\nRemote Config.\n\n*** ** * ** ***\n\n##### Challenge\n\nBefore overhauling the flow and aesthetic of their mobile app,\nDoodle wanted to improve app quality and bring their crash-free\nuser rate close to 100%. But manually tracking and resolving\ncrashes takes time.\n\nAdditionally, their seven-day retention metrics were lower than\nthe team wanted. Suspecting that they were losing users during\nonboarding, Doodle sought to update the onboarding process and\nstreamline the signup flow, so users could understand Doodle's\nvalue and accomplish tasks more quickly. But how could Doodle\ntest interface changes without disrupting users? \n\n*** ** * ** ***\n\n##### Solution\n\n\"Crashlytics saved us time by surfacing crashes and helping us\npinpoint their root cause,\" says Alexander Thiele, a senior\nAndroid engineer at Doodle. \"One feature we find particularly\nuseful is adding logs and keys to our crash reports to help us\ntroubleshoot tricky crashes. We also record non-fatal issues,\nwhich gives us more insight into what's going on in our app.\"\nAfter improving app stability, the Doodle team shifted their\nfocus to making design updates.\n\n\"We used Firebase Remote Config to test both our user\nonboarding and the poll-creation flow,\" Thiele says. \"In the\nend, one flow created over 42% more polls, a major increase\nin our most important user engagement metric.\" \nWith Firebase Remote Config, Doodle was able to test UI\nchanges before widely implementing them, and with Crashlytics,\nthey had confidence that they would immediately know about any\nstability issues that arose. Redesigning an app isn't easy,\nbut having the right developer tools ensured Doodle had a\nsmooth experience.\n\n*** ** * ** ***\n\nResults\n\n42% increase in poll creation\n\n6% better 7-day retention\n\n15% more daily active users \n\n\"By combining Crashlytics' real-time crash reporting with the ability to deploy remote changes to a subset of users through Remote Config, we were able to grow our daily active users beyond our expectations!\"\n\n\n- Alexander Thiele, Senior Android Engineer, Doodle \nTry Firebase today\n\n\nIntegrating it into your app is easy.\n[Get started](https://console.firebase.google.com/) \n\n#### All Firebase products\n\n##### Build\n\n- [App Check](/products/app-check)\n- [App Hosting](/products/app-hosting)\n- [Authentication](/products/auth)\n- [Cloud Functions](/products/functions)\n- [Cloud Storage](/products/storage)\n- [Data Connect](/products/data-connect)\n- [Extensions](/products/extensions)\n- [Firestore](/products/firestore)\n- [Firebase ML](/products/ml)\n- [Genkit](https://genkit.dev/)\n- [Hosting](/products/hosting)\n- [Realtime Database](/products/realtime-database)\n- [Firebase AI Logic client SDKs](/products/firebase-ai-logic)\n\n[Generative AI](/products/generative-ai) \n\n##### Run\n\n- [A/B Testing](/products/ab-testing)\n- [App Distribution](/products/app-distribution)\n- [Cloud Messaging](/products/cloud-messaging)\n- [Crashlytics](/products/crashlytics)\n- [Google Analytics](/products/analytics)\n- [In-App Messaging](/products/in-app-messaging)\n- [Performance Monitoring](/products/performance)\n- [Remote Config](/products/remote-config)\n- [Test Lab](/products/test-lab)"]]