A talk given at the Berlin DevFest 2014 (organised by the Google Developer Group Berlin). App Indexing for Google Search and Lessons learned at GetYourGuide
4. GetYourGuide Offers the Largest Travel
Activities Inventory Worldwide
800+
5,300+ 10,600+
Andreas Schranzhofer, GetYourGuide 4
800+
4,000+
2,000+
5. GetYourGuide:
An Efficient Marketplace for Travel Activities
Andreas Schranzhofer, GetYourGuide 5
Suppliers upload and
self-manage the
product inventory
Suppliers
GetYourGuide quality controls, optimizes & translates the content. We also
add professional video & photo content.
OTAs, Tour Operators
etc. drive traffic &
cross-sell our products
Partner
Network
Customers
Get
Your
Guide
8. What is App Indexing
Connect App Content and Web Content
Discoverability in Google
Search Result opens App
Boost App Engagement
Andreas Schranzhofer, GetYourGuide 8
9. How does it work – App Part
In a sentence: Enable Deeplinking in your app
URL Scheme to access content
RESTFul approach
mimicking an API
one entry point (vs. intents)
Connect Webpage to App in Webconsole
Andreas Schranzhofer, GetYourGuide 9
10. How does it work – App Part
some more requirements
min SDK = 17
clickable in any webpage
react on clicks in Web Browsers
Andreas Schranzhofer, GetYourGuide 10
first click free
connect your websites to your app
11. How does it work – Web Part
Andreas Schranzhofer, GetYourGuide 11
12. How does it work – Web Part
Generate Header in every Page:
android-app://{package_id}/{scheme}/{host_path}
android-app://com.getyourguide.android/gyg/search?q=Amsterdam
Google is checking that content matches !!
Andreas Schranzhofer, GetYourGuide 12
14. Matching Content
Match Content by addressing
resources (RESTFul)
Andreas Schranzhofer, GetYourGuide 14
15. more possibilities
App Indexing API (optional)
App notifies Google about linkable content
makes content available in Auto-Complete
also available for app only content
Andreas Schranzhofer, GetYourGuide 15
16. Tips & Tricks
Andreas Schranzhofer, GetYourGuide 17
Content Matching
make sure content is matching
monitor Webmaster Console
resolve Issues – be active
Google Crawler
In-App Tracking
17. Google Crawler
Get
Your
Guide
Andreas Schranzhofer, GetYourGuide 18
Google
Index
Implications:
• lots of additional traffic on your API
• make sure to enable crawling by putting the
corresponding robots.txt
18. In-App Traffic
Crawler In-App Traffic vs. ‘legit’ In-App Traffic
App (emulator) is triggered for every deeplink in the
index
Wow – we are really popular in Mountain View
But not among humans …
Andreas Schranzhofer, GetYourGuide 19
19. In-App Traffic
Get
Your
Guide
Andreas Schranzhofer, GetYourGuide 20
Google
Index
Solution 1:
• add a parameter to the deeplink
• don’t track when this parameter is
present
android-app://com.getyourguide.android/gyg/search?q=Amsterdam&tracking=false
20. In-App Traffic
Get
Your
Guide
Andreas Schranzhofer, GetYourGuide 21
Google
Index
Solution 2:
• detect if deeplink comes from the
crawler
• Build.FINGERPRINT
• empirical results show, it’s something
like ‘generic’ / ‘generic_x86’
21. Conclusion
Great to bridge the Gap between App and Web
some pitfalls:
Content Matching
Your Tracking Setup
expandable to app only use-cases
Andreas Schranzhofer, GetYourGuide 22