Increasing App Installs With App Indexation By Justin Briggs

47
#SMX #22A @JustinRBriggs Justin Briggs, Briggsby Increase App Installs With App Indexation

Transcript of Increasing App Installs With App Indexation By Justin Briggs

#SMX #22A @JustinRBriggs

Justin Briggs, Briggsby

Increase App Installs

With App Indexation

#SMX #22A @JustinRBriggs

Justin Briggs

Founder, Briggsby

[email protected]

@JustinRBriggs

Say Hello!

#SMX #22A @JustinRBriggs

Turn of the Tide

Mobile Moment

#SMX #22A @JustinRBriggs

Turn of the Tide

Mobile App

Moment

#SMX #22A @JustinRBriggs

Impact of mobile in your vertical

#SMX #22A @JustinRBriggs

How Significant is Mobile For You?

Go to

Adwords

Set to

mobileMobile traffic

#SMX #22A @JustinRBriggs

Google Prioritizes App Content

Mobile apps demand significant

attention in mobile search

#SMX #22A @JustinRBriggs

Search is rapidly becoming more mobile & conversational

#SMX #22A @JustinRBriggs

55% of teens and 41% of adults use voice search more than 1 time a day

- Google’s Mobile Voice Study

#SMX #22A @JustinRBriggs

Search as an Interface

Visits to app,

not websites

Takes action on

your behalf

Hands free UI

(wearables)

Solutions, not

web pages

Search examples: http://blog.tackmobile.com/article/android-wear-gui-elements/

#SMX #22A @JustinRBriggs

Google Voice Actions

#SMX #22A @JustinRBriggs

Google Voice Actions

#SMX #22A @JustinRBriggs

It’s still early days

#SMX #22A @JustinRBriggs

Deep app content is

like the early 1990s

#SMX #22A @JustinRBriggs

Deep links & app indexing are making app content accessible

#SMX #22A @JustinRBriggs

Drive App Engagement

App launch

can be default

behavior

Clicking this

launches the

app!

#SMX #22A @JustinRBriggs

15% of Google searches on Android return deep links to apps through App Indexing

#SMX #22A @JustinRBriggs

App Deep Links

android-app://{package_id}/{scheme}/{host_path}

package_id - app ID in Play store

scheme - http or custom scheme

host_path - specific content within app

#SMX #22A @JustinRBriggs

Intent Filter: AndroidManifest.xml

Defines the structure of your

app URIs

<activity android:name="com.example.android.GizmosActivity"

android:label="@string/title_gizmos" >

<intent-filter android:label="@string/filter_title_viewgizmos">

<action android:name="android.intent.action.VIEW" />

<!-- Accepts URIs that begin with "http://example.com/gizmos” -->

<data android:scheme="http"

android:host="example.com"

android:pathPrefix="/gizmos" />

<category android:name="android.intent.category.DEFAULT" />

<category android:name="android.intent.category.BROWSABLE" />

</intent-filter>

</activity>

#SMX #22A @JustinRBriggs

Testing Deep Links

Will launch

app deep link

#SMX #22A @JustinRBriggs

Verify site with Google Play Developer Console & Webmaster

Tools

#SMX #22A @JustinRBriggs

Connect in Google Play Console

Verify the

app’s website

#SMX #22A @JustinRBriggs

Annotate site for app URI discovery via crawl

#SMX #22A @JustinRBriggs

Three Ways to Expose App URI

<html>

<head>

...

<link rel="alternate" href="android-

app://com.example.android/http/example.co

m/gizmos" />

...

</head>

<body> … </body>

Rel=“alternate”

ViewAction

XML Sitemap

#SMX #22A @JustinRBriggs

Three Ways to Expose App URI

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "WebPage",

"@id": "http://example.com/gizmos",

"potentialAction": {

"@type": "ViewAction",

"target": "android-

app://com.example.android/http/example.co

m/gizmos"

}

}

</script>

Rel=“alternate”

ViewAction

XML Sitemap

#SMX #22A @JustinRBriggs

Three Ways to Expose App URI

<?xml version="1.0" encoding="UTF-8" ?>

<urlset

xmlns="http://www.sitemaps.org/schemas/si

temap/0.9"

xmlns:xhtml="http://www.w3.org/1999/xhtml

">

<url>

<loc>http://example.com/gizmos</loc>

<xhtml:link rel="alternate" href="android-

app://com.example.android/example/gizmos

" />

</url>

...

</urlset>

Rel=“alternate”

ViewAction

XML Sitemap

#SMX #22A @JustinRBriggs

Very similar to a mobile separate-site setup

#SMX #22A @JustinRBriggs

Launch App From Search

#SMX #22A @JustinRBriggs

App indexing is now

a ranking factor

#SMX #22A @JustinRBriggs

Average Lift of 0.29 Positions

0.48

0.29

0.19

0

0.1

0.2

0.3

0.4

0.5

0.6

Rank Lift Over Desktop

App Indexing Ranking Boost

Mobile (Not Installed) Mobile (Installed) Net Benefit

#SMX #22A @JustinRBriggs

No longer limited to users

with installed app

#SMX #22A @JustinRBriggs

Drive app installs by leveraging your existing SEO visibility

#SMX #22A @JustinRBriggs

#SMX #22A @JustinRBriggs

Manage indexing with robots noindex in app

#SMX #22A @JustinRBriggs

Indexing Control for Apps

<?xml version="1.0" encoding="utf-8"?>

<search-engine

xmlns:android="http://schemas.android.com/apk/res/android"

>

<noindex uri="http://example.com/gizmos/hidden_uri"/>

<noindex

uriPrefix="http://example.com/gizmos/hidden_prefix"/>

<noindex uri="gizmos://hidden_path"/>

<noindex uriPrefix="gizmos://hidden_prefix"/>

</search-engine>

App Resource

Directory

Android Manifest

#SMX #22A @JustinRBriggs

Indexing Control for Apps

<manifest

xmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.android.Gizmos">

<application>

<activity android:name="com.example.android.GizmosActivity"

android:label="@string/title_gizmos" >

<intent-filter android:label="@string/filter_title_viewgizmos">

<action android:name="android.intent.action.VIEW"/>

...

</activity>

<meta-data android:name="search-engine"

android:resource="@xml/noindex"/>

</application>

<uses-permission android:name="android.permission.INTERNET"/>

</manifest>

App Resource

Directory

Android Manifest

#SMX #22A @JustinRBriggs

Push to Google with

App Indexing API

#SMX #22A @JustinRBriggs

Autocomplete App Suggestions

#SMX #22A @JustinRBriggs

Only the beginning…

#SMX #22A @JustinRBriggs

Search as an interface

with app actions

#SMX #22A @JustinRBriggs

App Actions

App Indexing Knowledge Graph App Actions+ =

#SMX #22A @JustinRBriggs

Leverage Schema.org Actions

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "MusicGroup",

"name": "Weezer", "potentialAction": {

"@type": "ListenAction",

"target": "android-app://com.spotify.music/http/we.../listen"

}

}

</script>

#SMX #22A @JustinRBriggs

App Actions

#SMX #22A @JustinRBriggs

Building an Action Graph

Order me a pizza? Schedule my meeting? Drive my car?

Ok, Google

#SMX #22A @JustinRBriggs

What about iOS?

#SMX #22A @JustinRBriggs

Close to Release

iOS app

indexing

in the wild

Validates

in testing

tool

#SMX #22A @JustinRBriggs

Thanks!

[email protected]