Originally posted on Google Cloud Platform Blog Posted by Sara Robinson, Developer Advocate
At Google I/O this May, Firebase announced a new suite of products to help developers build mobile apps. Firebase Analytics, a part of the new Firebase platform, is a tool that automatically captures data on how people are using your iOS and Android app, and lets you define your own custom app events. When the data's captured, it’s available through a dashboard in the Firebase console. One of my favorite cloud integrations with the new Firebase platform is the ability to export raw data from Firebase Analytics to Google BigQuery for custom analysis. This custom analysis is particularly useful for aggregating data from the iOS and Android versions of your app, and accessing custom parameters passed in your Firebase Analytics events. Let’s take a look at what you can do with this powerful combination. How does the BigQuery export work?After linking your Firebase project to BigQuery, Firebase automatically exports a new table to an associated BigQuery dataset every day. If you have both iOS and Android versions of your app, Firebase exports the data for each platform into a separate dataset. Each table contains the user activity and demographic data automatically captured by Firebase Analytics, along with any custom events you’re capturing in your app. Thus, after exporting one week’s worth of data for a cross-platform app, your BigQuery project would contain two datasets, each with seven tables: Diving into the dataThe schema for every Firebase Analytics export table is the same, and we’ve created two datasets (one for iOS and one for Android) with sample user data for you to run the example queries below. The datasets are for a sample cross-platform iOS and Android gaming app. Each dataset contains seven tables -- one week’s worth of analytics data. The following query will return some basic user demographic and device data for one day of usage on the iOS version of our app:
Since the schema for every BigQuery table exported from Firebase Analytics is the same, you can run any of the queries in this post on your own Firebase Analytics data by replacing the dataset and table names with the ones for your project. The schema has user data and event data. All user data is automatically captured by Firebase Analytics, and the event data is populated by any custom events you add to your app. Let’s take a look at the specific records for both user and event data. User dataThe user records contain a unique app instance ID for each user ( user_dim.app_info.app_instance_id in the schema), along with data on their location, device and app version. In the Firebase console, there are separate dashboards for the app’s Android and iOS analytics. With BigQuery, we can run a query to find out where our users are accessing our app around the world across both platforms. The query below makes use of BigQuery’s union feature, which lets you use a comma as a UNION ALL operator. Since a row is created in our table for each bundle of events a user triggers, we use EXACT_COUNT_DISTINCT to make sure each user is only counted once:
User data also includes a user_properties record, which includes attributes you define to describe different segments of your user base, like language preference or geographic location. Firebase Analytics captures some user properties by default, and you can create up to 25 of your own.A user’s language preference is one of the default user properties. To see which languages our users speak across platforms, we can run the following query:
Event dataFirebase Analytics makes it easy to log custom events such as tracking item purchases or button clicks in your app. When you log an event, you pass an event name and up to 25 parameters to Firebase Analytics and it automatically tracks the number of times the event has occurred. The following query shows the number of times each event in our app has occurred on Android for a particular day:
If you have another type of value associated with an event (like item prices), you can pass it through as an optional value parameter and filter by this value in BigQuery. In our sample tables, there is a spend_virtual_currency event. We can write the following query to see how much virtual currency players spend at one time:
Building complex queriesWhat if we want to run a query across both platforms of our app over a specific date range? Since Firebase Analytics data is split into tables for each day, we can do this using BigQuery’s TABLE_DATE_RANGE function. This query returns a count of the cities users are coming from over a one week period:
We can also write a query to compare mobile vs. tablet usage across platforms over a one week period:
Getting a bit more complex, we can write a query to generate a report of unique user events across platforms over the past two weeks. Here we use PARTITION BY and EXACT_COUNT_DISTINCT to de-dupe our event report by users, making use of user properties and the user_dim.user_id field:
If you have data in Google Analytics for the same app, it’s also possible to export your Google Analytics data to BigQuery and do a JOIN with your Firebase Analytics BigQuery tables.
|
Website |
Domain Authority |
Other |
---|---|---|
US News |
94 |
Tweeted from account (115K+) |
Mashable |
96 |
Tweeted from account (6.95M+) |
AOL Lifestyle |
98 |
Referred 1,200+ visitors |
Eater |
85 |
N/A |
Daily Dot |
85 |
Tweeted from account (274K+) |
Here is what the LRDs and DA looked like before we launched the piece, and then after 4 months of it being live:
Before Launch |
4 Months Later |
|
---|---|---|
Linking Root Domains | 450 | 600 |
Domain Authority | 29 | 36 |
Let’s break this down by metric. Here's a graph of the LRDs over time (we launched the piece at about the start of the uplift).
The domain authority didn’t budge until about 4 months after we launched the piece. We weren’t actively pursuing any other link-based campaigns during this time, so it’s safe to say the creative piece had a lot to do with this boost in DA.
Note: Since DA is refreshed with new pools of data, this observation wouldn’t have been as valid if the DA only moved one or two positions. But, since it moved 7 positions so close to the launch of this piece, I feel like it’s safe to assume the piece contributed greatly.
Does this mean if you do a similar piece that your DA will also increase? No. Does it give us a good example on what can happen? Absolutely.
A note on LRDs, DA, and setting expectations
Setting expectations with clients is hard. That's even more true when you both know that links may be even more important than user engagement with your campaign. To make sure expectations are reasonable, you may want to encourage them to see this campaign as one of many over a long period of time. Then there's less pressure on any individual piece.
So, it’s important to set expectations upfront. I would never tell a client that we can guarantee a certain number of links, or that we guarantee an increase in domain authority.
Instead, we can guarantee a piece of content that is well-built, well-researched, and interesting to their target audience. You can go one step further and guarantee reaching out to X amount of contacts, and you can estimate how many of those contacts will respond with a "yes" or "no."
In fact, you should set goals. How much traffic would you like the piece to bring? What about social shares? What seems like a reasonable amount of LRD’s you could gain from a piece like this? Benchmark where you currently are, and make some reasonable goals.
The point I’m trying to make is that you shouldn’t promise your client a certain amount of links because, frankly, you'd be lying to them. Be upfront about what this looks like and show examples of work you’ve done before, but make sure to set their expectations correctly up front to avoid any conflicts down the road.
Conclusion
There's a lot to be learned from the results of creative campaigns. The goal of this article is to share one piece that I’ve worked on with a client while highlighting some things that I learned/observed along the way. If you'd like to see more campaigns we’ve worked on at Distilled, take a look at our creative roundup for last year.
To wrap things up, here are the key takeaways:
- Creative pieces take a lot of thought, work, and time. Don’t underestimate the task at hand.
- Don’t frame the project as only focused on gaining links. Instead, aim for creating a compelling piece of content that is on-brand and has the potential to gain traction.
- Oftentimes it’s best not to put all your eggs in one basket. Plan multiple pieces throughout the year.
- If your research is right and you pitch the piece to the correct people, this is a strategy that can gain your domain some very strong LRDs. In this particular case, 110 linking root domains (and counting).
- …But those links won’t come easy. You need to pre-pitch, remind, and re-pitch your contacts. There are many great pieces of content being published daily; you need to be proactive about ensuring your spots online.
- There are other benefits to doing pieces like this aside from links. Social shares, brand awareness, and referral traffic are some other metrics to look at.
- It is possible to increase your DA by doing a piece like this, but it takes time. Be patient, and continue doing great work in the meantime.
Other thoughts
- There are some arguments to be made that a piece of content like this only has spikes and doesn’t do any good for a brand. I don’t believe this to be true. The way I see it, if a piece is too evergreen, it might not gain as many strong links. At the same time, if a piece is completely left-field and doesn’t fit with the brand, the links might not be as impactful. I think there's a fine line here; it should be up to your best judgment on the pieces you should create.
- This piece could potentially be updated every year to gain more links or traction (although it would be a lot more difficult with Instagram drastically limiting their API).
- It’s possible that this piece didn’t have a direct impact on DA, but because there were no other link acquisition strategies during the 4 months, we can safely assume the two are correlated.
- There's an argument to be made that jumping from the 20s to the 30s is much easier than from 40s to 50s when you’re speaking of DA. We know that it gets more difficult to increase DA as it gets higher, so do keep that in mind.
Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!
via The Moz Blog http://tracking.feedpress.it/link/9375/4518272
Author
Write something about yourself. No need to be fancy, just an overview.
Archives
October 2016
September 2016
August 2016
July 2016