How to Optimize Your Content for Google Assistant Using Google Actions
This blog post is intended to help bloggers and online publishers get visibility using the Google Assistant’s new extension called Google Actions.
How to Drive Traffic to Your Website Using the Google Assistant
Let's start with an example of what is called implicit discovery.
This is a simple conversation starting on the Google Assistant (read here to get started with the Google Assistant on your phone or tablet device) where Google recommends that the user try an app (also known as Google Action), even if the user did not specify the app's name.
In our specific use case - the app is called Sir Jason Link.
Here’s how this works:
A user asks the Google Assistant a question: "Tell me something about WordLift".
The Google Assistant, using its own discovery engine (a search engine for Google Actions), scans all available applications to find the best app to match the request of the user.
The Google Assistant asks the user if he or she would like to "talk" with Sir Jason Link.
If the users agrees and says "Yes"...
Sir Jason Link is opened and provides the user with the correct answer (using the content from our website).
What’s the Big Deal?
In just a few hours, we engaged with 630 unique users using the same content of our website!
Some pages on our website have been truly resuscitated.
Take a look at the traffic to a glossary page that presents Apple’s virtual assistant Siri. This page received zero traffic prior to the activation of Sir Jason Link.
Unfortunately, traffic attribution for requests coming from the Google Assistant — besides cases like this one, where there was no traffic in the beginning — is still hard to track in Google Analytics alone. Under Source/Medium, some of the traffic related to this page is marked as Organic and some of it appears as Direct.
In order to understand the usage of a Google Action like Sir Jason Link, we need to use the built-in Analytics in the Actions Console, the Analytics features of Dialogflow or dig deeper into the application logs.
With the built-in Analytics you can track things like adoption, usage, and quality of your actions to answer to questions like:
How many users do I have? Are my users increasing?
Are users confused about what to do or do they say things that my actions don't understand?
Where is the conversation ending?
Is my response time fast enough or does it take too long to answer this request?
In order to understand more closely the type of traffic we were getting around the "Siri" I had to look at the conversation History in Dialogflow as well as the logs in the Google Cloud platform used by the Google Action (see an example below).
Let’s Take a Step Back: What Are Google Actions?
Google Actions are apps that extend the Google Assistant to help users get things done using their voice. Rather than by tapping on your phone as we normally do with apps, an Action lets us accomplish tasks mainly through our voice using a natural-sounding conversation.
Why is the Assistant Important for Your Brand?
In the last few months, Google has sold tens of millions of smart devices like the Google Home, the Google Home Mini and the Google Home Max and all of this at an incredible growth rate (one every second since last October according to Google).
By the end of 2018, the Google Assistant — which is already available in eight languages — will be available in more than 30 languages and will reach 95% of all eligible Android phones worldwide across multiple devices from Smart TVs to cars with Android Auto (yes, since January 2018, the Assistant is accessible behind the wheel of your favorite car).
At a time where it’s harder and harder to grow your traffic organically over traditional social networks without spending a fortune on advertising, we’re talking about a new entry point to your content for millions of users.
How Can I Make My Google Action Easy to Find?
Users need to invoke your Google Action through Google Assistant in order to engage with it. There are mainly two ways to make your Google Action accessible to users:
Explicit invocation: This occurs when a user already knows the name of your Google Action and asks the Google Assistant to talk to it with something like "Hey Google, talk to Sir Jason Link" - a user in this case needs to know what it can ask to your assistant and the Web Directory of Google Actions is a good place to start. Here is the page dedicated to Sir Jason Link.
Implicit invocation: This is where the magic really happens. It's the way to engage with users that don't know yet about the existence of your app. As shown above if a user will say something like "Tell me something about Semantic SEO?", Sir Jason Link might be invoked.
In the table above - taken from the Google Action Console of our app - we can see which phrases led to Google recommending our app.
The columns in the table above include:
Matched spoken phrase: The user query that led to Google recommending your app.
Matching action: The intent or action that the user’s query was mapped to.
Impression: This is the number of times the phrase led to Google recommending our app (it's similar to impressions in SERPs).
Selection: The number of times a user invoked our app after Google recommended it. Imagine this as the equivalent of a user clicking on a SERP result.
Selection rate: Probably the most important one in terms of optimization this is the percentage of impressions that led to a selection. This metric would be the equivalent of a Click Through Rate in the result page.
As you can see from these results, Sir Jason Link received the highest number of impression for an open intent call —
$topic:topic — that basically deep links the request on single entities (whether these are companies like "Google" or a concepts such as "Linked Data").
When the user triggers these keyword we got a significant amount of requests and for each of these requests we had the content ready in our website (we do have entity pages for companies like Google and for concepts like "linked data").
The selection rate, of course, in this specific example, was not optimal.
What You Can do to Optimize Your Google Actions for Discovery
There isn’t too much literature yet on these topics but from Google's getting started guide on Google Actions and from our direct experience we see the following factors as relevant:
Reduce conversational errors. We still have a lot to look for but it's clear that dead ends in an app's conversation, much like a 404 on a website, forces users to quit and discourages Google from recommending you.
Don't block your flow with Account Linking unless you stickily need it and, in our specific use case (a factoid chatbot) clearly we didn't.
Avoid open-ended questions and instead choose open intents that your content supports. Questions like "what can I help you with?" don't provide the user with enough context on what to do next. Questions like "what do you want know about
$topic:topicis an existing content item in your CMS (an entity, in other words) works well.
Write useful action invocation phrases. Like we do when looking for specific search intents to optimize our content in traditional SEO — in conversations we want to make sure to be relevant and specific. This can be achieved, for example, by always adding the verb in the invocation phrase. As you can also see from our experiment an intent like "Hey Google, tell me something about
$topicindicates an entity that your CMS knows about) works a lot better than a generic one like
Add action invocation phrases in both Dialogflow (if you are using it for creating your Google Action) as well as in the Actions Console. In Dialogflow, actions and their invocation phrases are defined as "User Says" expressions and can be configured in the Google Assistant integration panel within Dialogflow by going into Integrations > Settings) see below.
In the Action Console, you have a dedicated panel in the Overview page under Action discovery and re-engagement. See the screenshot below:
If your action invocation phrases can't be mapped to a variety of related user queries, your app won't be recognized as relevant.
How All of this Works
A semantic graph is a knowledge base that WordLift creates with the content of your website to automate structured data markup and boost SEO.
For creating a Google Action - like for any other chatbot - you can use different content sources. In order to prevent content duplication and high maintenance costs we use, for Sir Jason Link, the same content we have in our WordPress website and the linked metadata created with WordLift in an RDF graph called triplestore.
Having a chatbot that is connected to your CMS (and to your knowledge graph) has several advantages:
You write your content only once,
The content is automatically updated as you grow your editorial plan of your website,
The content you design and structure semantically for your own chatbot it is also ready and well optimized for voice search
Voice-ready content works well also for both skimming and scanning (two very different strategies for speed reading).
Sir Jason Link now supports a limited number of intents but for each one of these intents a user can discover information about a growing number of facts extracted from the WordLift.io website.
An intent is an action that can be answered with a specific piece of content (in our case this will be either an entity, a property of an entity, the relationship among different entities or a query on the graph that traverses multiple entities).
An entity, in the lingo of WordLift, is a content item described using the schema.org vocabulary (it can be a person, an organization, an event, ...). All entities are available as web pages and as a data points in a RDF knowledge graph.
Google Actions are a valuable new entry point for your content and implicit discovery, for voice-activated applications is a complete new way of doing SEO. You can engage users with the same content you have on your website by intercepting intents much like you would do with long-tail keywords.
In an AI-first world users interact with Personal Digital Assistants like the Google Assistant and we want to expose our content with semantically structured data that can be picked up by machines and meet our audience.