Use Firebase Analytics to Build Extraordinary Apps – Google I/O 2016

February 14, 2017 Off By Mike

Use Firebase Analytics to Build Extraordinary Apps – Google I/O 2016

RUSS KETCHUM: All right, so I am Russ Ketchum. I lead product management for Google Analytics for apps, and now for Firebase Analytics. So I'm going to be joined on stage in a few minutes by some of my team, by Steve and Fontaine. And before we get to that, I want to take a minute and just kind of have everybody think about experiences that they have with apps on an everyday basis. So we've all had those magical experiences where you download an app, and almost from the minute you do, you open it up and you're in love. It immediately starts adding value to your life. The user experience is beautiful. You may even go on to make it a permanent fixture on your home screen. And before long, you can't imagine your life without it. So for me, Uber is an app like that. So I'm based in Southern California. Here I am in the Bay Area. I don't have a car, a rental car, worrying about cabs. I have Uber. When I'm at home, Waze is an app like that for me. But there's another experience that we've all had with apps. And those are the apps that when you install them, you almost immediately regret doing it. The user experience sucks. That is, if you can ever see the user experience, because the app just keeps crashing. Then it starts spamming you with notifications that you never asked for that serves no purpose. And without fail, right when you're more frustrated than you could possibly be, it has the audacity to prompt you for a review. So as developers, none of us want that app to be our app, especially when we know how extraordinary apps can be. But of course, you all know this better than anyone else. Because typically, your app is your business, and every interaction with your users matters. Now, as developers, there's something else that you know about apps. And that's that building an app is really, really hard. I mean, think about it. There's so much going on, so much you have to get right. And you've built the app, but how are you going to make it successful? How do you even measure success? How do you even understand the things that make an app successful and not? And so a big challenge there is that apps are generating just a mind-boggling amount of data. So people take their phones out of their pockets and check them more than 150 times a day. I'm standing on stage at I/O, and I've already pulled my phone out twice. And that level of interaction just generates a mind-boggling amount of data. And very few tools are even capable of capturing that amount of data, especially if you're not one of the big developers. But let's just assume for a minute that you could collect all that data. How would you go about detecting the underlying factors that are driving your success and failure? What causes your revenue to increase one day and fall another day? What users are most valuable to you? And where are they coming from? What are the experiences in the app that they're thoroughly enjoying? You need a set of powerful analysis tools that work fast and are easy to use. And you also need to be able to very quickly put that data to work for you. It's not good enough to simply look at your reporting. You need to put that data into action, and without having to deal with all the complications of bundling in multiple SDKs that make your app bloated and result in this Frankenstein monster with all these pieces that were never designed to work together. Now fortunately, this is something that Google can help with. So let's talk about the new Firebase. So we just heard a lot about it if you were in the session before this, or if you heard pieces of the keynote. But we want to look at Firebase kind of from the perspective of analytics. What we used Firebase for internally at Google was as a unifying force to bring all of our app developer efforts together. And the result is now this single suite of tightly integrated products all designed to help users– or help developers rather– build their apps, grow their engagement or their user base, and ultimately, to earn more money. And while we talk about the use as stages or steps like kind of in a journey, I think a better way to look at them is like this. So you can imagine this as a virtuous cycle where each step is constantly feeding back on itself, reinforcing the learnings from one stage that benefit the other, all to build a better app. And so that's exactly what we're doing with Firebase is we're making it easy for you to tap in to that virtuous cycle and succeed with your app. So we heard Francis and James a few minutes ago talk about how Firebase is this tightly integrated set of tools. We have other sessions that go into really all of the different features throughout the week, and of course, over at the Firebase sandbox. But at the core of Firebase is Firebase Analytics. And now this is an entirely new offering focused specifically on the needs of mobile apps. But it benefits from our decade-long experience running Google Analytics, which is the most popular analytics service in the world. So we think, given these learnings, that Firebase Analytics is going to be really exciting for developers, and here's why. So first, Firebase Analytics is completely free and completely unlimited. [APPLAUSE] Right? Completely free and completely unlimited. Exactly. So this is true even for the largest of apps. So now, all developers can understand all of their data and without compromise. It's free. There aren't hit limits. There's not sampling. There's no quotas. There's no nothing. It's free and unlimited. Next, it works automatically right out of the box. So what this means is when a developer gets started with Firebase and they add it to their app, for any reason, even the most basic implementation, they're already set up with Firebase Analytics. And it's already measuring things for them automatically. Now, the automated measurement features are just the starting point. And Steve's going to come up here in just a minute and show us how easy it is to take that further. Firebase Analytics is also seamlessly integrated within Firebase and across many other Google products. And this is going to provide you as a developer with a single source of truth as you take action across all of Google. And Fontaine is going to come up here in a minute to show us what that looks like. And a thing I really, really want to stress is that Firebase Analytics is cross-platform. It works just as well and is just as easy to use on iOS as it is on Android. And so with that, let's go ahead and get our hands dirty and write some code. Actually, I'm not going to get my hands dirty. Steve is going to get his hands dirty. And I will hand it over. And he's going to show you how easy it is to use Firebase Analytics as your building ground. Steve. [APPLAUSE] STEVE GANEM: All right, thank you. Thank you very much. I'm Steve Ganem. And I'm a product manager on Firebase Analytics. And in just a minute, I'm going to walk you through a real example of how you can use Firebase Analytics as you develop your app. And there will be a little bit of live coding there as well. But just before we do that, let's take a step back and see how you get started with Firebase in your app. We've made getting started Firebase very easy. It's as easy as one, two, three. You take your app, you add the SDK to it, and you add a configuration file, and you're up and running. More specifically, you register your app on the Firebase console, you download the SDK for your target platform, and then you download a configuration file that has your unique app ID in it, and you drop those into your project and build. All that remains at that point is to initialize the SDK, which is codeless on Android and two lines of code on iOS as Francis showed us. And this is a one-time setup you would need to do for any and all Firebase features. And so the beauty is, regardless of what feature actually attracted you to Firebase in the first place, if you've come this far, you're already live with Analytics in your app. Now, what does it mean to be live with Analytics? Well, Firebase Analytics works out of the box. And so just by initializing the SDK, over a dozen events are captured automatically for you. These are events that are critical related to things such as in-app purchases, user engagement, your push notification campaigns, and more. This is all done for you. Now, of course, you still need the ability to log custom events. And there's an API for you to do that. But what if you aren't sure what you should be logging? Maybe you're new to analytics or just want to make sure you're using best practices with Firebase Analytics. Well, that's where our API documentation and our Help Center can help you get started. There in our Help Center, you'll find documentation on a list of suggested events for various types of apps so that you can map your experience and your features to these events and log them. There's examples and suggested events for things like retail apps, travel apps, and, of course, games. So what's it like to log one of the events? And how much work is that? That's what I'm going to show you in just a minute. And we'll do so in the context of a real app. Transworld Endless Skater is an app that's live right now in the App Store and on Google Play. It's a skateboarding take on the endless runner genre, where the player's goal is to land as many tricks and combos as possible to keep their run going as long as possible. And the developers goal is to keep the lights on as long as possible. And they do that by monetizing with in-app purchases, which are driven by a virtual economy, which is a very common pattern in video games. And so thinking back to the list of suggested events I showed you on a previous slide, the spend virtual currency event is going to be important. Because we really want to measure the trends and the popularity of our various virtual goods. So let's take a look at what it's like to actually log that event. Switch to the demo, please. All right, so here we are in Xcode. This is a function that's called when an item is purchased from the shop. So first thing I'm going to do is get the Firebase Analytics instance. And I'm going to call log event with name API. And I'm going to log this spend virtual currency event. So just having done that, I'm flagging every time that a user actually purchases something. But that's good, and that has some value to it. But we want to add context to it with parameters that help us understand what's being purchased and what the price was. So not only does Firebase suggest events for you to log, but it also prescribes certain parameters for those events to help you get the most out of your reporting. And so for this spend virtual currency event, we see that item name, virtual currency name, and value are prescribed. So we're going to add those as well to the event. And there it is. With one line of code, we're now tracking our virtual currency spend in the app. And now, you can actually log up to 500 distinct events in your app in unlimited volume as Russ mentioned. And even though I only logged three parameters, you can actually supply up to 25 different parameters. So you get a sense of the breadth and the depth to which you can actually measure your application. But what if you didn't have time to do that? What if you only had 10 minutes and you asked your developer to check out this Firebase Analytics thing? How much value would you actually get from just logging one event? Well, let's follow this through a bit. So we made this change to the code. We make a new build. You archive it and send it over to test flight. You distribute that to your testers. They tell you that everything's looking good. You submit it to Apple. You breeze through because you know what you're doing. And then you release it to the general public that's waiting for your app now live with Firebase and Firebase Analytics in it. Now, let's head over to the Firebase console to see what that reporting would look like. So here I am in the Transworld Endless Skater projects in Firebase. The changes we made are the iOS version. So I select that here. And this takes me to the Analytics dashboard. This is a beautiful list of charts and graphs that have all sorts of value. And as was mentioned before, everything on here is actually captured for you just by initializing the SDK. So this whole dashboard lights up when the SDK is inserted into the app and initialized. So let's go through each one of these cards so you can understand what's here in depth. First of all, I'm looking at the last 30 days here. So all of the data that I'm seeing is daily from the last 30 days. And it's compared against the previous 30-day period. So the dotted lines represent the previous 30 days as well as the percentage changes here. This first card is the active users report. It breaks down monthly, weekly, and daily active users compared to the previous period. The one to the right is average revenue. So it breaks it down on the average revenue per user and per paying user. Revenue in Firebase Analytics is the sum of your in-app purchase revenue, which is captured automatically, and your e-commerce revenue. Next, we see first open attribution. This is a report on the influx of new users from various campaigns that you're running. So you get a sense of which campaigns are effective in driving users to your app, but also looking at the lifetime value column here, which ones are most effective at driving valuable users to your app so you can double down on those. Over here on the left is the retention cohorts chart. This helps you understand that for a given set of users that started using your app around the same time, what was their pattern and regularity of coming back to your app? How well did you retain them? This one here, user engagement, is particularly important for mobile apps. User engagement is the amount of time that your app spends in focus on the foreground of the device. So that's what we really care about as developers. How much mind share do I have? How many eyeballs do I own? And so this chart that you see here is that value plotted over time over those 30 days. As you're running campaigns to acquire more users, or you're improving, making optimizations on your retention, you should see this moving up and to the right. The next metric here is daily engagement per user. So take that daily engagement metric divided by the number of users so that you can measure the impact of your engagement optimizations. So if you're trying to make your app more engaging, have users spend more time in it, you come here to verify that the changes you're making have the impact you expected. Or if you have a utility app that's meant to get users in and out very quickly and accomplish some task, you're going to want to see your daily user engagement go down. To the right, we see the in-app purchases card, which is pretty self-explanatory and shows you which IAP are popular. And then you have the app version card right here. This is particularly important, because in our scenario, we just launched a new version of the app. So we want to measure how quickly that's being adopted by our users. It could be that it rolled out and has 100% adoption. And that's great. But typically, there are some users that are more stubborn for one reason or another. And they stick around in the old version. That's really important to know. Because you've just made some optimizations or changes to your app or your game player experience. And if a lot of users aren't adopting the new version, the data won't reflect that. Next, we have the device model and OS version, which are pretty self-explanatory. But there are some insights there. If you've optimized for phone and you see you have a lot of tablet users or vice versa, you can verify assumptions and make sure that you are putting in all the effort necessary to deliver the best experience to your users. The last three are locations, demographic, and interests. These are– I mentioned before that all of this is populated automatically by initializing the SDK. And all of these three cards, they tell you more about who is using your app, not so much about what's going on in the app. But it's incredibly insightful. And what's more, this is Google's data being injected into your reporting. This is Google adding value to your reporting. I find the interest one to be particularly interesting because it tells you more about what other things your users are into. And these insights are great. Because you're producing more content in your app or running campaigns to try to attract more users like that, now you have an insight into what else they're in to. So I've covered a lot here. And there's a lot of detail. You don't really need to memorize it all. If you memorize one thing, remember that there's this question mark up here in the upper right corner that if you click on that, on any report throughout Firebase Analytics, brings up in-product help. So here on the dashboard, there are two videos that can give you background on Firebase Analytics. And there's also information about the reports and the controls including links to our Help Center, which is rich with information about the product. So the dashboard, as insightful as it is, as automatic as it is, it doesn't tell you much about how users are actually using specific features within your app, which is what we're out to measure here. To do that, you need to log events. So let's head over to the Events tab. The Events tab lists every event that was logged by the SDK. That includes both the automatic ones and the ones you logged manually. For every one of them, a report will be generated so that you can dig into it more deeply. In-app purchase is one that's logged automatically. So this is what you can expect from automatic events. You'll see a report over the last 30 days of the event count. So that's the frequency the event occurred. The number of users who purchased in-app purchases, an account per user, as well as the value. Now, value in the context of in-app purchase is pretty obvious. That's revenue. But I just want to spend a minute on this because it's one of the most valuable, but subtle features of Analytics. Value– it's a context sensitive parameter. So as I mentioned in the context of in-app purchases, it's revenue. But if you had a travel app and you logged a flight event, it could be that your value is distance so that the cumulative value is the total distance traveled by your users. Or perhaps you have a music streaming app. And you have an event that's listen to track. Then value could be listening time so that the cumulative value is the total amount of time listened to in your app. So whatever makes sense for your events, I really encourage you to use that value to track those things. We also show event location, demographics, and event procession for every event report as well so you get a sense of who's logging those events. Finally, we'll get around to looking at our spend virtual currency report. This is the one that we log with one line of code. So now you're kind of getting a sense of all the value you could get just by initializing the SDK and logging this. In addition to the standard metrics we saw around event and user count, you'll see up here report on virtual goods. This is what we we're after. And just by logging that one event, we get this table rich with data about what items are the most popular, what prices they're going for, how many times they were purchased. And what's more, that's actually broken down by currency type. Transworld Endless Skater uses two types of currency– cred, which are earned, and bucks, which are purchased. And so it's important to understand not just what's being purchased, but what's being purchased with each type of currency in order to fully understand our economy. So you can apply either bucks or cred as a filter to your report to get a sense of what they're purchasing with each one of those. And now we're really getting somewhere. Because now that we see what content is actually popular, that gives us a sense as we continue to develop and to iterate what new content we should be making. Maybe we should be exposing or promoting some of the content that's less popular that we expected to be more popular and so forth. But also, in actuality, it's not one size fits all. Some users gravitate toward certain types of content, and others towards other types of content. So it's really important that you drill deeper to get business insights here. And that's what the filter up here allows you to do. This global filter control is on all reports in Firebase Analytics and allows you to drill into your reports and to filter them by different user properties and audiences. We saw earlier the example of the Canadian purchasers. But user properties are actually captured for you automatically such as age, gender, device model, app version, and more, in addition to ones that you can log yourself. So if I want to see what 18 to 24-year-olds are buying in my app, I can apply that filter compared to the 25 to 34-year-olds. So it's really quick. It updates really fast so you can go deep and drill and have hypotheses and try to discover new things about your usage. So let's switch back to the slides now. Now as valuable as all this reporting is, some of you might have custom needs that just can't be served by standardized reporting. And the good news for you is that every Firebase app can be linked to BigQuery, which is Google's analytics data warehouse in the cloud. So you can perform custom analysis on it or join it with external data or export it to some external endpoint of yours to do what you need with it. So that flexibility and power is there for you as well. So I feel like we've barely scratched the surface. We only looked at two of the seven tabs. But Fontaine is here to tell you more about how you can grow your app using Firebase Analytics. So thank you. [APPLAUSE] FONTAINE FOXWORTH: Thanks, Steve. So while it's critical to iterate on your core app experience as a developer, once you've got a strong foundation, it's worth thinking about actually investing and driving engagement with your users. And that's why we built Firebase Analytics to be a growth engine for your app, whether you consider yourself a developer or a marketer. So we're creating opportunities for you to boost engagement and grow usage with your apps. Let's pick up with Transworld Endless Skater where Steve left off. And for the purpose of this presentation, you can go ahead and think of Steve as the developer and me as the marketer. And while it's perfectly reasonable for Steve as a developer to focus on growth for his app, Firebase Analytics also works well for organizations where there's a little bit more delineation between roles. So Steve talked to us about how developers can measure events. But there's one type of an event that he conveniently didn't mention. And those are conversion events, or just conversions. Think of conversions as the key business drivers that you're really trying to optimize your business around, optimize your app around. So first opens, you can think of these like installs. Or in-app purchases, these are obviously conversions, so we'll automatically enable those for you. But different businesses have different types of conversions. And so you can come into Firebase Analytics and mark any of your custom events to be conversions in our UI. You can do this without writing any new code just by coming over into the Events tab. And on the far right column, there's a section that says Enable Conversion. And you can toggle it on for any of your events. Now, marking an event as a conversion– this unlocks a couple of features for that particular event, for example, Attribution. So you can start to understand which of your channels are driving the most of those events for your conversions. So Steve instrumented spend virtual currency a couple minutes ago. I know that's a business driver. So I'm going to go ahead and mark it as a conversion here in the UI. And when I mark it as a conversion, it gets added to the Attribution section of Firebase Analytics. This is another tab that Steven didn't get to cover. Attribution is really what I consider to be the home base for the marketers that are going to be using Firebase Analytics. Now on Friday, we're going to be diving a lot deeper into the Attribution tab to really understand how you can do cross channel attribution. So I'm not going to go too deep on it now. But the one thing I do want to highlight is our lifetime value reporting. So our lifetime value reporting, or LTV reporting, this is exactly the type of thing that we're trying to optimize for with conversions. So I really want to highlight this. It's available on our dashboard. And it's available here on the Attribution section. So let's talk about how we can actually drive conversions. Rather than focus on how we can do that with Google's ad products, which of course we can do, I want to talk about how we can actually re-engage our existing users by pairing Firebase Analytics with Notifications. So Firebase Analytics and Notifications. Notifications are a really powerful way of bringing your users back into the app to drive a particular type of engagement. This is certainly true with Transworld Endless Skater. Firebase makes it incredibly easy to send notifications on both Android and iOS. And like Firebase Analytics, it's completely free and unlimited. And while Steve didn't show this earlier, it only took him a couple of lines of code and a couple of minutes to actually instrument Firebase Notifications in his app. And just like that, we're ready to send notifications. But let's pause for a minute and think about what that actually means in this context. With Firebase, we make it really easy for you to engage in a conversation directly with your users. That's really powerful. But insert obligatory comic book reference here, with great power, comes great responsibility. So we all know examples of apps who have really just gone off the rails when it comes to push notifications. Maybe they're sending them way too frequently and it starts to just feel spammy. Or I can think of countless apps that just send a one size fits all notification that really doesn't apply to me personally. So when you're a developer, and you're using Notifications, it's important that you strike the right balance between relevance and frequency. And this is exactly what you can do with Firebase Analytics and Notifications together. So let's look at how we can actually do that in the context of Transworld Endless Skater. So first, we're going to want to use those audiences that Steve highlighted to actually craft a group of our users. So we can define certain criteria. We'll actually be walking through this in a demo in a minute. The second is then going over to Notifications where we can craft the content of the message, figure out who we're targeting, what the copy's going to be, how often we're going to be sending the message. And then together, this allows you to tailor your messages towards each of those groups. So back to Transworld Endless Skater, Steve had instrumented that spend virtual currency event earlier. And the great thing about it is that we're not just capturing the fact that the event happened, we're capturing extra metadata about that event as well. So I can see what the users are actually spending their virtual currency on. Now, this is important. Because I want to be sending a push notification to users who would actually be inclined or interested in the content of this message. And specifically, I'm interested in adding a new level. And one of the things that you can spend your virtual currency on in the game Transworld Endless Skater is to unlock new levels. So when I'm sending my push notification, I really want to make sure it's targeted at the right group. My new level is going to be called the Rooftops. And I'll be sending a notification to a very specific set of users to actually cover this. So I'm going to go ahead and dive in at this point. All right, so here we are on the Events section, which is certainly one way to do analysis. But now I'm going to move over to the Audiences section. Let me first get this filter off. Great. All right, so now here I am on the Audiences section. You can think of Audiences like a way to slice and dice your users to get certain segments of users you want to focus on or analyze. There's a couple of different ways you can use Audiences. One is to do reporting. So I can see here a list of all of the audiences that I've been creating over the last few weeks. And if I wanted to actually do reporting and understand how they're behaving, I can just click on them to see a report. So here, I'm going to click on Males 25 to 34. And I can immediately see a report on them– how many users are in that report, what's their ARPU, demographics. Here I can even see their interests like Steve highlighted earlier. So this particular segment of users is interested in online video and online games, which is reasonable considering this particular filter that I added. Another way to use audiences is to actually just apply it as a filter. Steve highlighted this earlier, but it can be used across the Firebase Analytics product. And then the final way that I want to highlight that you can use Audiences for is for highly contextual targeting information. And you can target users across other Firebase products. But you can also target users across other Google products. So we're really trying to bring all these products together with a single language in Firebase Audiences. So coming back to Transworld Endless Skater, I said that I wanted to add a new level, and I want to send a push notification to the relevant users to actually encourage them to spend their virtual currency to unlock this level. So I need to be thoughtful about who my audience is actually going to be. So if I think back, what's a reasonable behavior that might indicate that users could be interested in unlocking levels in the future? This actually isn't a trick question. It's pretty obvious right under our nose. If users have spent to unlock levels in the past, it's probably pretty reasonable that they'd be willing to do that again. So that's going to be my target audience that I'm going to create right now. So if I come over into New Audience, it pops up this Audience Builder where I can actually construct the conditions of my audience. Now my audience name, I'm going to say Users Who Purchase Level. And then my audience descriptions, I'll say "spent virtual currency on a level." Now, I'm actually going to select the specific criteria for this. Coming into this selector, I can select either an event or a user property. You've seen a bunch of user properties earlier. And for my event, we just agreed upon that I'm going to select spend virtual currency. Then I don't want to just target anybody who's ever spent virtual currency. I really want to hone it down on that specific set of users that spent virtual currency to unlock a level. And this is, again, where those parameters come in, right? Steve had added those three extra calls, those three extra parameters in the actual event logging. And when I add a parameter, you can see here are those three parameter names that we saw Steve instrument earlier. So I'm going to select Item Name. And my operator I'm going to leave as Contains. And I'll go ahead and say Level. So I'm narrowing it down to anyone who has spent on an item name that contains level. So at this point, I can hit Create. I actually created this audience earlier. So I'm going to go ahead and use the audience I created earlier this week. So Purchased Level 2– I'm highlighting it right now– this is going to be the audience that I'm targeting. So creating my audience, that was the first stage. The next stage is actually going in to create the notification. So coming in to Notifications, you create a new message. And let's see, "Get ready for some fun. Unlock level 3 now." Message label– I'll call it rooftops Upsell since Rooftops is the name of this level. And then in terms of a delivery date, I'm actually launching this level tomorrow evening. So I'm going to send this push notification Friday. So I'm scheduling it. I can go ahead and select Friday the 20th. Noon seems like a reasonable time. It might be their lunch hour, would be willing to play games. And I definitely want to leave it on recipient time zone since I don't want to hit somebody with a push notification in the middle of the night. Now I get to the targeting. For app, I want this to be on my iOS app. And then I'll add one more criteria. And here, I'm selecting audience. And I can actually see this list of audiences that we just saw over in Analytics because they're the same. So of all these audiences– let's see– Purchased Level 2 at the bottom here. And I can see this particular audience has between 1 and 10,000 users. That seems right. And I can go ahead and add that target. Great. A couple of other things– let's see– conversion events. All right, we talked about this earlier. This particular widget is allowing me to construct a funnel of these different stages in the notifications process. So the first part of the funnel is going to be whether or not the notifications were sent, then how many were opened, and then I get to define what that final action is that the conversion should be. So we've already been talking about this. But of course, it's going to be spend virtual currency since that's the specific action I'm trying to drive. Let's see– and then I don't have any advanced options. So I'm going to save this as a draft. And let's see– all right, I'm just going to go ahead and schedule a message. So I can see here it's going to get sent on Friday. And it's targeting that user segment, so scheduling. Great, so the message goes out. How do I know if anyone actually got the message? Well, Analytics naturally can help here as well. So if I come back into my Events section, seeing all my events, I can see here a couple of events– Notification Foreground and Notification Open– those are among the automatic events that Steve highlighted earlier. I'm going to click into Notification Open. So this is where I can see exactly how many users actually opened my notifications. You can see I sent a notification last week. So you can actually see the spike here, as well as some of the residual opens that happened after that. So now I'm really looking at this particular event. But what's interesting is over here, I can see the relative campaigns side by side one another. So if I wanted to click on this Rooftops Upsell, which is the message that I sent, it immediately applies this chip at the top. Now all of my dashboard is being narrowed in and filtered down to this specific group of users. So it's cool to be able to say, all right, let me see for this particular event, for this particular notification, how effective was it at actually driving engagement in my app? So, so far I've been talking a lot about Notification and Analytics and how they can be used together. There's a lot of cool places you could go with that. This is really just the beginning. But I'm going to step back for a minute and talk about a couple other ways that you can use some of the other Firebase growth tools for your app. So let's move back to the deck. Skyscanner, a leading global travel search business with over 50 million monthly users, put Firebase in their app. And within their app, you can do things like book travel, compare prices for things like flights or hotels or even car rentals. And they decided to use Firebase Invites to augment their growth strategy. They did this, again, in a couple of different steps. The first was, naturally, identifying their most valuable users with Firebase Audiences. And for them, that was the users who had actually made a booking through the app before. The second step was realizing that those users were their target group to actually target the Firebase Invites with. And then finally, they used Firebase Invites to allow those users to share the app with their frequently contacted folks using SMS or e-mail. So they did this in a couple of different ways. First of all, they asked their users to rate the app. And if the user rated it highly, they gave them the opportunity to share the app via Firebase Invites. The recipients of these invites didn't just receive a link to the app. But when they actually went on to download it and then later open it, they arrived at a specific screen in the app. They deep linked in after install. So it was really able to close the loop with the full invitation experience. And so users could seamlessly share the app with their friends and their most frequently contacted peers. And within just two weeks, Skyscanner saw hundreds of personalized invites. And we already see them getting results. They're seeing strong adoption of the app from the users who are coming from this channel specifically. So enough about growth, I'm going to hand it back to Russ to talk about how you can actually make money with Firebase. [APPLAUSE] RUSS KETCHUM: Thanks, Fontaine. And thanks, Steve for showing us so much of what you can do with Firebase and Firebase Analytics. So I know I speak for the three of us when I say that one of the things that was the most fun about building Firebase was with collaborating with so many expert teams across Google all focused on the needs of app developers. But when it comes to making money with apps at Google, the team that you talk to is AdMob. So AdMob is synonymous with in-app advertising, and for good reason. Because in-app ads are the number one monetization mechanism for apps. AdMob has over a million apps monetizing with AdMob today. It's pretty impressive. But if you spend time with the AdMob team, and if you talk to experienced publishers, what you learn is that one size fits all monetization is a thing of the past. Different types of users monetize differently, which means the more you understand about users and users' behavior, the smarter you can be about making money with your app. And by linking your Firebase app to AdMob, you're paving the way to using both products together to maximize your earning potential. So we're going to return to Skate for just one more minute. And what we've seen is that Steve showed us that Skate monetizes using in-app purchases. But there's a lot of industry data that says that only between 1% and 5% of users actually ever make an in-app purchase. That means that 95% of these users are going un-monetized. Now, if this holds true for Skate, that could mean there's a massive monetization opportunity just waiting for them. Now fortunately, since Skate uses Firebase Analytics, we don't have to rely on a rule of thumb. We can just look at the data. And so here I'm back on the Firebase Analytics dashboard. And I've highlighted the monthly active users. And what I can do is basically apply a filter here. So Steve showed that in-app purchase is one of those events that's logged automatically on both iOS and Android. Fontaine showed how easy it is to use Events to build an audience. But since purchasers are so important to so many developers, Firebase goes ahead and creates a purchaser's audience for you. And so when I apply that as a filter, sure enough, the number of purchasers actually goes way down. And that means there's a massive opportunity to monetize. So Firebase can help us introduce a targeted monetization experience using Remote Config and to tap that opportunity space, particularly when you bring Firebase Analytics and Firebase Remote Config together. Just a quick example– so we saw that Skate uses in-app purchase. Now we can go ahead and use a remote config to control and set aside users to make sure that purchasers never see ads. Next, Steve was called the developer earlier. I'll stick with it. Steve could add AdMob to the app. He'd do that by using the Google Mobile Ads SDK, which is part of the Firebase SDK. And he'd build an ad placement, say a banner. If he wanted to, he could log another custom event, maybe in this case ad clicks. And then he'd wire up that ads experience to be controlled with a remote config. So coming back, he's already set it up so his purchasers, his spenders, are never going to see ads. Now Steve just needs to wire up the other configuration, target the group of users that aren't his purchasers. And now they're experiencing ads. And if that feels a little aggressive, maybe you don't want to turn ads on all at once, you can control that too by adding a percentage. And just like that, we have multiple targeted monetization experiences happening at the same time in Skate. We hope you're excited. So Firebase Analytics is a really, really exciting thing for us. We think it's going to be very powerful for developers. I know we've covered a ton of ground and we're just about out of time. So I just want to leave you with a couple points in summary. Firebase Analytics is completely free and completely unlimited, even for the largest of apps on iOS on Android. It works out of the box with automatic measurement that's easy to extend. It's seamlessly integrated within Firebase and across Google all to help you develop, grow, and earn. So a couple housekeeping items– we've got the sandbox, we have office hours, we have another Firebase Analytics session that Fontaine mentioned on growth scheduled for Friday. If you're looking for specific next steps, we would love for you to sign up for Firebase right now and start using Firebase Analytics. There's a lot of great Help Center content. And of course, we're ready to help you over in the sandbox. So on behalf of Steve and Fontaine, I just want to thank everybody for coming out. And enjoy the rest of I/O. [MUSIC PLAYING]

A quick note about the reviews I do on this site. The product vendors may give me access to their products for free in order for me to do my review, alternatively, I may have bought the product myself. However I make no promises to vendors regarding what I write in my review. Should you click a link that takes you to a sales page for a paid product for sale this link will be an affiliate link and I will be paid a percentage of the sales price should you decide to invest in it.