Blog of our latest news, updates, and stories for developers

Google Analytics Launches Asynchronous Tracking

Tuesday, December 1, 2009
Share on Twitter Share on Facebook
Google
Labels: analytics , javascript

42 comments :

  1. JanOSDecember 1, 2009 at 12:57 PM

    Filete!

    ReplyDelete
    Replies
      Reply
  2. getifyDecember 1, 2009 at 1:00 PM

    An even easier way, which also allows this same type of dynamic loading even with all other scripts on your page as well as GA, is to use LABjs: http://labjs.com

    For instance:

    $LAB
    .script(('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js')
    .wait(function(){
    pageTracker = _gat._getTracker("UA-XXX-XX");
    pageTracker._trackPageview();
    });

    ReplyDelete
    Replies
      Reply
  3. Giovanni SavastanoDecember 1, 2009 at 6:05 PM

    music to my ears

    ReplyDelete
    Replies
      Reply
  4. tepDecember 1, 2009 at 10:53 PM

    what shall we do rows below within new version ?

    pageTracker._setCampContentKey("XXX");
    pageTracker._setCampMediumKey("XXX");
    pageTracker._setCampNameKey("XXX");
    pageTracker._setCampSourceKey("XXX");
    pageTracker._setCampTermKey("XXX");
    pageTracker._setDomainName("XXX");
    pageTracker._trackPageview("XXXX");

    tep

    ReplyDelete
    Replies
      Reply
  5. JohnDecember 1, 2009 at 11:12 PM

    What a great blog.And I just want to say thanx to you for awaring me about the new and revised things about google.I also have some information that will be very useful to you.Realted to discount on network and electric applinces.I have visited a site that is providing great discount by On Sale promo code.You can also visit that site for more information.

    ReplyDelete
    Replies
      Reply
  6. naholyrDecember 2, 2009 at 12:40 AM

    @tep, obviously, if you look at the provided code, you see immediately that they simply changed "pageTracker.XXX(YYY)" info "_gaq.push(['XXX', YYY])"

    ReplyDelete
    Replies
      Reply
  7. johannesDecember 2, 2009 at 1:04 AM

    Nice, but what the world needs is asynchronous Goggle Ad Manager slot load!

    ReplyDelete
    Replies
      Reply
  8. DroidDecember 2, 2009 at 1:33 AM

    What is necessary to make this work if you are also using a rollup account?

    ReplyDelete
    Replies
      Reply
  9. HannibalDecember 2, 2009 at 3:48 AM

    There is a bug in this code and at least in Friefox 3.5.5 gave me error. document.documentElement.firstChild is not head, but white space. I have no white space, but Firefox told me that there is white space. To make sure that first element is element, not text, I use:

    var f = document.documentElement.firstChild;
    while(f & f.nodeType != 1){ f = f.nextSibling; }
    f.appendChild(e);

    e is document.createElement("script") and other attributes.

    ReplyDelete
    Replies
      Reply
  10. The FrogmanDecember 2, 2009 at 4:56 AM

    I hope this isn't a stupid question, but if the person viewing the page doesn't have an html5 browser will they still be tracked? Should I wait to install this until the standard is more common?

    ReplyDelete
    Replies
      Reply
  11. ImmyDecember 2, 2009 at 5:05 AM

    hey thanks a lot guys for the new improved code.

    ReplyDelete
    Replies
      Reply
  12. Satya PrakashDecember 2, 2009 at 5:16 AM

    welcome move. as it makes the site faster

    ReplyDelete
    Replies
      Reply
  13. AndréDecember 2, 2009 at 6:07 AM

    Instead of a anonymous function, can we have a setTimeout instead?

    setTimeout ( function () {
    ...
    }, 0);

    Or will this add any problem that I'm not foreseeing?

    ReplyDelete
    Replies
      Reply
  14. FabrizioDecember 2, 2009 at 6:48 AM

    @frogman: don't worry, the code works well also without 'async' attribute. The creation of a script element with createElement() method is asyncronous by default in every current browser.

    Just a question: document.documentElement... only indentifies browser in standard mode, so in order to ensuring the inclusion on all pages (no matter about doctype) why not use simply a document.body.appendChild() ? Or am I missing something?

    Fabrizio

    ReplyDelete
    Replies
      Reply
  15. Sebastiaan DeckersDecember 2, 2009 at 8:51 AM

    There is a bug in the official GA code snippet.

    Since "async" is a boolean-attribute its must be either "async" or "" according to the HTML5 spec. The value of "true" is not correct.

    Example:
    ga.setAttribute("async", ""); // legal and true
    ga.setAttribute("async", "async"); // legal and true
    ga.setAttribute("async", "true"); // illegal but true
    ga.setAttribute("async", "false"); // illegal but true

    Reference:
    http://www.w3.org/TR/html5/infrastructure.html#boolean-attribute

    ReplyDelete
    Replies
      Reply
  16. Rakesh PaiDecember 2, 2009 at 8:53 AM

    +1 Sebastiaan. Spot on.

    ReplyDelete
    Replies
      Reply
  17. jonraaschDecember 2, 2009 at 9:59 AM

    3 cheers (and about time :))!

    ReplyDelete
    Replies
      Reply
  18. Weston RuterDecember 2, 2009 at 10:12 AM

    @Hannibal:
    document.documentElement.firstChild is also a Text node for me. So instead of:

    document.documentElement.firstChild.appendChild(ga);

    This works:

    document.getElementsByTagName('head')[0].appendChild(ga);

    Or document.head.appendChild(ga), but this isn't yet implemented in browsers; or document.querySelector('head').appendChild(ga), but alas again.

    ReplyDelete
    Replies
      Reply
  19. getifyDecember 2, 2009 at 11:25 AM

    http://yura.thinkweb2.com/jstests/document_head_test_by_Garrett.html

    Try that in certain browsers (like Chrome and Opera 10), and you'll see that in fact the comment node is the first node returned (which is of course invalid to nest a <script> element under).

    My feeling is the GA code is *NOT* safe as is. They should use a more robust option.

    ReplyDelete
    Replies
      Reply
  20. anilDecember 2, 2009 at 2:26 PM

    Good Update Like it..

    ReplyDelete
    Replies
      Reply
  21. GLOSTANDecember 2, 2009 at 2:34 PM

    IT'S A GOOD EXPERIENCE.

    ReplyDelete
    Replies
      Reply
  22. WillDecember 2, 2009 at 3:23 PM

    this is great news. if you could nudge your colleagues on the Ad Manager team to do something similar it would be even better. thanks!

    ReplyDelete
    Replies
      Reply
  23. SuperDecember 2, 2009 at 5:18 PM

    http://www.top-battery.com.au/
    http://www.ibuynow.com.au/
    We specialize in substitute laptop batteries (laptop battery) packs for, camcorders batteries, digital camera batteries, PDA batteries, mobile phones batteries, and power tools battery, etc. as well as battery chargers
    Online shopping for laptop batteries, laptop AC/DC adapters, battery chargers, camcorder batteries, digital camera batteries, PDA batteries, power tool batteries, 2-way radio batteries, GPS batteries, MP3 player batteries, iPod batteries, DVD player batteries, game player batteries, ink cartridges, laser toner,universal battery and more.

    ReplyDelete
    Replies
      Reply
  24. colnectorDecember 3, 2009 at 1:37 AM

    The comment above by "Super" is spam - isn't there a way to report spam here?

    What about answers to the fixes shown here by other users? An official response would be helpful.

    ReplyDelete
    Replies
      Reply
  25. KJDecember 3, 2009 at 2:15 AM

    Will you lose all your previously collected data when you start using the new code?

    ReplyDelete
    Replies
      Reply
  26. IntellixDecember 4, 2009 at 3:07 PM

    On a website I've just changed over and the following are results from YSlow doing 10 page refreshes with Web Developer toolbar disabling Cache:

    Old GS Tracking code in Footer

    1) 1.614s
    2) 1.418s
    3) 1.573s
    4) 1.343s
    5) 1.304s
    6) 1.373s
    7) 1.529s
    8) 1.429s
    9) 3.4s
    10) 1.781s

    New Async Tracking Code in Header

    1) 1.789s
    2) 1.73s
    3) 1.707s
    4) 1.727s
    5) 1.761s
    6) 2.171s
    7) 1.767s
    8) 1.864s
    9) 1.792s
    10) 1.86s

    ReplyDelete
    Replies
      Reply
  27. The Guv'norDecember 5, 2009 at 4:03 AM

    Added this into a website today, seemed nice at first, but was causing consistent problems with jquery / coda-slider v2 in google chrome resulting in problems with the first panel in coda. Took everything back to the old analytics code and it all works fine. In Firefox or IE7+ there were no such issues.

    ReplyDelete
    Replies
      Reply
  28. SpanishgringoDecember 7, 2009 at 2:34 AM

    Will you add the async feature to Urchin?

    Also, we use 2 profiles for every call to GA (1 for local profile and 1 for global rollup profile). How would you setup the async calls in that situation?

    ReplyDelete
    Replies
      Reply
  29. Eduardo PachecoDecember 7, 2009 at 6:51 AM

    A review in brazilian portuguese: http://insighter.org/web-analytics/google-analytics-asynchronous-tracking

    ReplyDelete
    Replies
      Reply
  30. FrançoisDecember 7, 2009 at 8:29 AM

    If I was using

    pageTracker._trackPageview("/myurl.html");

    should I use

    _gaq.push(['_trackPageview', '/myurl.html']);

    or should I stay with the old code.

    ReplyDelete
    Replies
      Reply
  31. BrianDecember 8, 2009 at 8:22 PM

    Blogger's comment system isn't great for answering questions. If you ask your questions on the Help forum, I'll do my best to answer them.

    http://www.google.com/support/forum/p/Google+Analytics/label?lid=5a6c689030bdafe7&hl=en

    ReplyDelete
    Replies
      Reply
  32. Dan RussellDecember 9, 2009 at 8:59 AM

    @Francois I came to ask the same thing. Looks like you've gotta change that or the code won't work anymore. The code you have there seems to work.

    ReplyDelete
    Replies
      Reply
  33. NoodlesDecember 9, 2009 at 5:34 PM

    @Francois & @Dan Russell, did you get anywhere with figuring out whether the push trackPageview would work for tracking link clicks?

    ReplyDelete
    Replies
      Reply
  34. BrianDecember 10, 2009 at 10:47 PM

    Thanks everyone for your feedback on the new Analytics Asynchronous Tracking snippet. We have incorporated some of your suggestions and have updated our snippet recommendation. You can check it out here: http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html

    ReplyDelete
    Replies
      Reply
  35. joelfinchDecember 13, 2009 at 4:49 AM

    One thought - could Google please drop the "ssl" in the URL, and simply have https://google-analytics.com available?

    Since the URL spec calls for relative URLs to inherit any missing portions from the current address, the src for the script could then be just "//google-analytics.com/ga.js" with no script needed to correctly select http vs https.

    Not much of a saving, I know, but every little bit helps.

    ReplyDelete
    Replies
      Reply
  36. BolinfeedDecember 21, 2009 at 12:11 PM

    I just created a new Analytics account and it told me to use the old snippet, not the new one. Is that a bug or is the new snippet not ready for primetime?

    ReplyDelete
    Replies
      Reply
  37. DaveFebruary 23, 2010 at 2:27 PM

    I couldn't find any information on the "exclude_me" cookie for excluding team members or anyone else you would want to exclude from google analytics. _gaq.push(['_setVar', 'exclude_me']); works as expected (where the synchronous code was pageTracker._setVar("exclude_me");) by setting an exclusion for a __utmv cookie.

    ReplyDelete
    Replies
      Reply
  38. cyclona23March 15, 2010 at 11:04 PM

    im a little confused... this page in the GA documentation suggests that even though you can have multiple instances of the GA tracker on a page that they will read from the same cookies and clobber one another:

    http://code.google.com/apis/analytics/docs/concepts/gaConceptsCookies.html#cookieImplementationLimits

    Does Asynchronous Tracking account for this and deal with it?

    ReplyDelete
    Replies
      Reply
  39. PierreMay 21, 2010 at 1:39 AM

    Implemented this 1 hour ago... now wait and see!

    ReplyDelete
    Replies
      Reply
  40. DeelipJune 2, 2010 at 1:29 AM

    I am using google rollup account. Please let me know implementation procedure for Analytics asynchronus code. I have tried to make rollup but after editing in this code, Analytics is not showing any data.

    ReplyDelete
    Replies
      Reply
  41. yonranSeptember 7, 2010 at 11:53 PM

    Slight nit: async isn't exactly a new feature. Defer was in the 1998 HTML 4 standard and IE 4, and it is Mozilla who refused to implement it for a decade (because the execution order wasn't fully specified). So I think it's bizarre that Firefox is being praised for being the first to implement defer's new reincarnation.

    ReplyDelete
    Replies
      Reply
  42. jaferiNovember 20, 2010 at 8:31 AM

    It's amazing and nice step by Google to overcome the page speed problem.

    ReplyDelete
    Replies
      Reply
Add comment
Load more...

  

Labels


  • .app
  • .dev
  • #30DaysOfFlutter
  • #AIY
  • #CSEdWeek
  • #devfest18 #devfeststories #gdg #googledevelopers #developers #community
  • #freeandopen
  • #GDC20
  • #GooglePlay #AndroidDevStory #PlayStore #DeveloperConsole #StoreListingExperiments
  • #growwithgoogle
  • #io12
  • #io13
  • #io14
  • #io15
  • #io16
  • #io17
  • #io18
  • #io2012
  • #io2013
  • #io2014
  • +1
  • 20% project
  • 3d
  • 3D face mesh
  • about.com
  • accelerator
  • Access
  • accessibility
  • Account Linking
  • actions
  • Actions Builder
  • Actions console
  • actions on google
  • Actions SDK
  • actionsongoogle
  • activity
  • Administrative APIs
  • AdMob
  • adobe
  • Adobe Creative Cloud
  • Adobe Creative Cloud Libraries
  • Ads
  • adsense
  • advanced
  • advogato
  • AdWords
  • africa
  • agency program
  • agpl
  • AI
  • AI Principles
  • AIY
  • AIY Projects
  • AIYProjects
  • ajax
  • ajax apis
  • ajax search
  • ajax search books news apis
  • Alfred Camera
  • all for good
  • amarok
  • AMP
  • AMP Cache
  • analytics
  • and Assistant
  • android
  • Android App Development
  • Android Developer
  • android developer certification
  • android developers
  • Android Development
  • Android Studio
  • Android Things
  • Android Tools
  • Android TV
  • android wear
  • android11
  • androidstudio
  • animation
  • Announcement
  • announcements
  • apache
  • api
  • API.AI
  • apis
  • apis console
  • apis explorer
  • apis. charts
  • app
  • app design
  • App dev
  • App Development
  • app engine
  • app indexing
  • app indexing api
  • App Invites
  • apple
  • Application Development
  • apps
  • apps script
  • AR
  • ARCore
  • area 120
  • artifact management
  • Artificial Intelligence
  • asia
  • assistant
  • atom publishing protocol
  • Audio
  • augmented faces
  • Augmented images
  • augmented reality
  • australia
  • Auth
  • authentication
  • authsub
  • automatic speech recognition
  • AutoML
  • awards
  • axsjax
  • barcodes
  • beacon
  • beacons
  • Belarus
  • bespin
  • best practices
  • beta
  • bigquery
  • bitcoin
  • Black Consciousness Day
  • Blockly
  • blogger
  • Bluetooth
  • book search
  • books API
  • bootcamp
  • braintree
  • Brazil
  • british english
  • Brotli
  • browser
  • Build Out
  • building ajax apps
  • BuildOut
  • Bulgaria
  • business
  • business console
  • buzz
  • c++
  • Cache
  • caja
  • caldav
  • calendar
  • camino
  • campfire one
  • caption
  • cardboard
  • CardDAV
  • cast
  • Cast Connect
  • celebrating
  • Certification
  • certification award
  • channel
  • chinese
  • chrome
  • chrome apps
  • chrome dev summit
  • chrome devtools
  • chrome experiment
  • chrome extensions
  • chrome os
  • Chrome OS IO
  • Chrome OS IO19
  • chrome web store
  • Chromebooks
  • chromecast
  • chromium
  • chronoscope
  • cifs
  • classes
  • classroom api
  • client libraries
  • closure tools
  • cloud
  • Cloud anchor
  • Cloud Anchors
  • Cloud Computing
  • cloud datastore
  • Cloud Functions
  • cloud functions for firebase
  • Cloud Next
  • cloud platform
  • cloud portability
  • cloud services
  • cloud sql
  • cloud storage
  • Cloud Study Jam
  • cms
  • coca cola
  • CocoaPods
  • code for educators
  • code jam
  • code review
  • code-in
  • codeedu
  • codelabs
  • coding
  • coffee with a googler
  • Colaboratory
  • collada
  • color
  • Colt McAnlis
  • commerce
  • community
  • community connectors
  • compatibility
  • competition
  • Compilers
  • compression
  • compressorhead
  • computer science
  • Computer Science Education Week
  • computer vision
  • computing heritage
  • conference
  • conferences
  • Console
  • contacts api
  • Containers
  • contest
  • contextual gadgets
  • conversation design
  • conversations
  • Coral
  • Coral updates
  • Core ML
  • couchdb
  • countdown to I/O 2012
  • country support
  • courses
  • COVID
  • COVID-19
  • COVID19DetectProtect
  • CPU
  • crash course
  • Crash Reporting
  • crashlytics
  • creative commons
  • cricket
  • crisis response
  • Croatia
  • Crostini
  • cryptocurrency
  • cryptography
  • css
  • css3
  • Custom Elements
  • custom search
  • custom search api
  • Czechia
  • DA
  • danish linux forum
  • dart
  • Data Compression
  • Data science
  • Data Visualization
  • database
  • Databases
  • Dataset
  • Datasets
  • datastore
  • dataviz
  • Daydream
  • deprecation
  • Depth
  • design
  • desktop
  • desktop apps
  • Dev Tools
  • devart
  • develop
  • developer
  • Developer Advocate
  • Developer Communities
  • Developer Culture
  • developer expert
  • developer features
  • Developer Keynote
  • Developer Preview
  • developer relations
  • developer student clubs
  • developers
  • developers. meetup
  • Development
  • devfest
  • devfest developer chrome maps social wave apps
  • DevFest18
  • DevFestStories
  • Device
  • DFP
  • Dia da Consciência Negra
  • dialogflow
  • differential privacy
  • discovery service
  • diversity
  • diversity-and-inclusion
  • django
  • dns
  • do-it-yourself
  • Docker
  • docs
  • documentation
  • documents list api
  • dojo
  • domain
  • domains
  • doodles
  • dot net
  • doubleclick
  • dreamweaver
  • Drive
  • drupal
  • dsc
  • dynamic links
  • earn
  • earth
  • Ebay
  • eclipse
  • eclipsecon
  • eddystone
  • Edge AI
  • Edge TPU
  • Edge TPU Accelerator
  • Edge TPU Dev Board
  • educatio
  • education
  • email
  • EMEA
  • endpoints
  • enterprise
  • Entity Extraction
  • entrepreneurs
  • Error logging
  • Estimator
  • Estimators
  • estonia
  • Ethics
  • Europe
  • event
  • events
  • evolution
  • execution api
  • extensions
  • Fabric
  • face detection
  • Fairness
  • fairness in machine learning
  • faster web
  • FCM
  • FCP
  • featured
  • feeds
  • finance
  • fintech
  • Firebase
  • Firebase Analytics
  • Firebase Cloud Messaging
  • Firebase Dynamic Links
  • firebug
  • firefox
  • firestore
  • firevox
  • firstbeta
  • fitness
  • flutter
  • Flutter 1.2
  • Flutter 1.5
  • Flutter 1.9
  • Flutter at IO
  • Flutter Clock
  • Flutter Create
  • Flutter for desktop
  • Flutter for web
  • Flutter Interact
  • Flutter Live
  • flutter release preview 1
  • flutter release preview 2
  • Follow Us
  • font api
  • Fonts
  • fosdem
  • founders
  • freebsd
  • freenet
  • Fridaygram
  • fusion tables
  • G Suite
  • G Suite Developer
  • G+
  • gadgets
  • Game Developers Conference
  • games
  • gaming
  • gcc
  • gci
  • GCP
  • GDA
  • gdata
  • GDC 2020
  • GDC17
  • GDD
  • gdd07
  • gdd08
  • gdd09
  • GDD11
  • GDE
  • gdg
  • gdl
  • gdl weekly
  • gears
  • geo
  • geolocation
  • geoserver
  • GET
  • getpaid
  • ghop
  • Gigster
  • git
  • github
  • GKE
  • Glass
  • gmail
  • Gmail Add-on
  • Gmail API
  • Gmail APIs
  • GMTC
  • gnome
  • gnome women's summer outreach program
  • Go
  • golang
  • goo.gl
  • Google
  • Google AI
  • Google Analytics
  • Google APIs
  • google apps
  • google apps api
  • google apps for your domain
  • google apps marketplace
  • Google AR
  • google assistant
  • Google Assistant Bluetooth
  • Google Assistant Developer Day
  • Google Assistant IO
  • Google Assistant IO19
  • google assistant sdk
  • Google Brain
  • google buzz
  • Google Cardboard
  • google cast
  • google certification
  • google chart api
  • Google Charts
  • google checkout
  • google chrome
  • Google Cloud
  • Google Cloud Messaging
  • Google Cloud Platform
  • google cloud storage
  • Google Cloud Talks
  • google code
  • google code project hosting
  • google code search
  • google code university
  • google compute engine
  • Google Coral
  • google data apis
  • google data protocol
  • Google Data Studio
  • google developer day
  • google developer days
  • Google Developer Experts
  • Google Developer Groups
  • Google Developer Scholarship
  • google developers
  • Google Developers Academy
  • google developers certification
  • google developers community groups
  • Google Developers Groups
  • Google Developers Live
  • Google Developers site
  • Google Developers University Consortium
  • google docs
  • Google Docs Add-on
  • Google Docs API
  • google doctype
  • google domains
  • Google Drive
  • Google Drive SDK
  • google earth
  • google fit
  • Google Fonts
  • Google For Games
  • google for startups
  • google friend connect
  • google gadgets
  • google gears
  • google grants
  • Google Groups Settings
  • google health
  • Google Home Hub
  • Google I/O
  • Google Identity Platform
  • Google in Asia
  • google io
  • Google IOS Android
  • Google Maps
  • Google Maps Platform
  • google mashup editor
  • Google Noto fonts
  • google pay
  • google pay account
  • google pay api
  • google pay business
  • Google Pay Developers
  • Google Pay India
  • google pay integration
  • google pay support
  • google photos
  • google platform
  • Google Play
  • Google Play Developer API
  • google play services
  • Google Registry
  • google scholarships
  • Google Science Fair
  • Google sheets
  • Google Sheets Add-on
  • Google Sheets API
  • Google Slides
  • Google Slides Add-on
  • Google Slides API
  • google space
  • Google Spreadsheets API
  • google storage
  • google summer of code
  • Google tech talk
  • Google technology
  • google technoloy user groups
  • google tv
  • google visualization api
  • google wallet
  • Google Wave
  • google web elements
  • google web toolkit
  • Google Workspace
  • Google Workspace Add-ons
  • Google Workspace Developer
  • google.org
  • google+
  • GoogleAssistant
  • googlecast
  • googledevelopers
  • googleio
  • googlenew
  • GooglePlay
  • GooglePlay AndroidDev
  • googlewebelements googleio
  • GPE
  • GPGS C++ Games
  • GPT
  • Gradle
  • green linux
  • Groovy
  • Groups API
  • grow
  • grow with google
  • gsoc
  • GSuite
  • gtags
  • gtug
  • guest post
  • guice
  • gulp
  • GWSOP
  • gwt
  • gzip
  • hackathon
  • hacking
  • hackthon
  • hamilton
  • Handwriting
  • hangouts
  • Hangouts Chat
  • Hangouts Chat API
  • haproxy
  • Headset
  • hg
  • hibernate
  • howto
  • hpux
  • html
  • html5
  • http
  • I/O
  • I/O 17
  • I/O 2017
  • I/O Extended
  • I/O Live
  • ical
  • ICYMI
  • identity
  • ietf
  • ignite
  • igoogle
  • iguanas
  • iiw
  • Image Compression
  • image search
  • Imara
  • In-app billing
  • in-app payments
  • in-app purchase
  • incubator
  • India
  • indie
  • Indie Games Accelerator
  • information visualization
  • Instagram
  • integration status
  • intelligentwire
  • interactive music
  • International Women’s Day
  • internationalization
  • internet explorer
  • internet of things
  • internship
  • interviews
  • IO
  • IO17
  • io18
  • IO19
  • IO19 Flutter
  • IO2017
  • ios
  • iOS SDK
  • IoT
  • ipad
  • iphone
  • iPhone Development
  • israel
  • Issue Tracker
  • IWD 2020
  • jaiku
  • japanese
  • java
  • javascript
  • jetpack
  • joomla
  • joomladayus2007
  • joomladayusa
  • JS
  • json
  • karaoke
  • KDE
  • KDE 4.0
  • Keras
  • kernel
  • kernel summit
  • keynote
  • khronos
  • kids
  • kids coding
  • kids coding team
  • kml
  • korean
  • Kotlin
  • Krakow
  • Kubernetes
  • labs
  • lanchpad
  • language
  • languages
  • laptop apps
  • laptops
  • latam accelerator
  • LatAm startups
  • Latest
  • Latin America
  • latitude
  • latvia
  • launch
  • launchpad
  • launchpad accelerator
  • launchpad studio
  • LaunchShow
  • lca
  • Leadership
  • Learning
  • lens
  • lessons
  • licenses
  • linux
  • linux foundation
  • Linux on Chrome OS
  • Linux on Chromebooks
  • linux summit
  • linux virtual server
  • linuxconf eu
  • lithuania
  • Local Home
  • Local Home SDK
  • localization
  • Location
  • LoCo
  • Logging
  • london
  • mac
  • MacFuse
  • Machine
  • machine intelligence
  • machine learning
  • machine learning accelerator
  • Mainframe Migration
  • maker
  • Makers
  • malware
  • maps
  • maps apis
  • Marketplace
  • material
  • material components
  • material design
  • MDL
  • MediaPipe
  • meetup
  • mercurial
  • Mexico startups
  • Micronaut
  • Microservices
  • MIT CSAIL
  • MIT Media Lab
  • ml
  • ML Kit
  • MLCC
  • mobile
  • Mobile App Development
  • mobile design
  • Mobile Development
  • mobile performance
  • mobile sites
  • mobile speed
  • mobile UX
  • Mobile web
  • Mobile World Congress
  • mod_pagespeed
  • Moderator
  • monetize
  • Monthly roundup
  • MOOC
  • mozilla
  • multi-platform
  • mylar
  • myspace
  • MySQL
  • mythtv
  • named
  • narratives
  • native ads
  • native client
  • nearby
  • Nest
  • Nest WiFi
  • netbsd
  • Next Billion Users
  • non-profit
  • nonsense
  • nosql
  • notifications
  • Noto Serif CJK
  • NPM
  • nss
  • nvidia
  • NYT
  • O3D
  • oauth
  • OAuth playground
  • OAuth2
  • Object Detection and Tracking
  • objective-c
  • OCaml
  • Occlusion
  • ocr
  • ODF
  • office hours
  • oha
  • online payments
  • OOXML
  • open data
  • open source
  • open source blog
  • open source releases
  • open web
  • open-source
  • openajax alliance
  • opengl
  • openid
  • opensocial
  • openssh
  • openssl
  • Optimization
  • oreilly
  • orkut
  • oscon
  • oscon2007
  • osi
  • oss devs
  • ossjam
  • osx
  • pactester
  • page speed
  • PageSpeed
  • palette
  • payment handler
  • payment request api
  • payment web standard
  • payments
  • paypal
  • Peer bonus program
  • performance
  • persistence
  • persistent AR
  • phone
  • photos
  • picasa
  • picasa web
  • places API
  • play services
  • playground
  • plone
  • plone sprint
  • podcast
  • poland
  • Poly
  • polymer
  • Polymer Summit
  • portugal
  • Pose Detection
  • Pose Estimation
  • posix
  • POST
  • PowerMeter API
  • prediction api
  • Prerender
  • preview
  • privacy
  • prizes
  • processing
  • production access
  • products - slides
  • programmers
  • programming
  • Progressive Web App
  • Project Connected Home over IP
  • project hosting
  • Project Loon
  • Project Tango
  • prototype
  • proximity
  • pubsubhubbub
  • PWA
  • py3k
  • python
  • python sprint
  • Qualcomm
  • Qualcomm Google
  • rails
  • random hacks of kindness
  • Rasberry Pi
  • React
  • reader
  • releases
  • Remote Config
  • research
  • reserve seats
  • Resources
  • Responsible AI
  • REST
  • result snippets
  • Reto Meier
  • review process
  • Rewarded Ads
  • Rewarded Video Ads
  • rhino
  • Saatchi
  • Safety & Security
  • safety and security
  • salesforce
  • samba
  • Sample dialogs
  • sandbox
  • Santa Tracker
  • Scala
  • scalability
  • scale-ups
  • Sceneform
  • schedule
  • scholarship
  • scholarships
  • scopes
  • Scratch
  • screencast
  • sdk
  • sdks
  • search
  • security
  • Selfie Segmentation
  • Serbia
  • serif
  • Serverless
  • service worker
  • sessions
  • seurat
  • shape
  • Sheets
  • Sheets API
  • shindig
  • shopping
  • Shoreline Amphitheatre
  • shortcuts
  • showcase
  • sidewiki
  • sign-in
  • silverstripe
  • SIMD
  • sitemaps
  • sites api
  • sixapart
  • sketchup
  • Slides API
  • small business
  • small businesses
  • small-business
  • Smart Home
  • Smart Lock for Passwords
  • soap search api
  • soc
  • social
  • social graph
  • solaris
  • solutions challenge
  • souders
  • spa2007
  • Space
  • spdy
  • speakers
  • speech
  • speed
  • speed tracer
  • Spring
  • spyware
  • Stable release
  • Stackdriver
  • standards
  • startup
  • Startup accelerator
  • startup africa roadtrip
  • startups
  • Static Sites
  • STEM
  • storage
  • stories
  • Street View
  • Strobe
  • student programs
  • students
  • stuff
  • style
  • subscribed links
  • subscription
  • subversion
  • summer of code
  • Sundar Pichai
  • SVG
  • sxsw
  • syndication
  • targeted spyware
  • tasks API
  • Team Drives (new)
  • techmakers
  • Technical Writing
  • technology
  • templates
  • TensorFlow
  • tensorflow dev summit
  • TensorFlow Lite
  • TensorFlow Research Cloud
  • tensorRT
  • Test Lab
  • testing
  • text embedding models
  • Tez
  • TF Lite
  • tfdevsummit
  • TFLite
  • themes
  • thought leadership
  • tool
  • Toolkit
  • tools
  • topp
  • TPU
  • TPU Dev Board
  • training
  • Traits
  • tranparency
  • transit
  • translate
  • translation
  • tutorials
  • tv
  • ubiquitous computing
  • ubiquity
  • ubucon
  • ubuntu
  • Udacity
  • UI
  • Ukraine
  • UN
  • UNDP
  • UNICEF
  • unicode
  • unit test
  • Unity
  • universal
  • Universal App Campaigns
  • University
  • unix
  • Update
  • updates
  • url
  • url shortener
  • URLs
  • UX
  • verification
  • video
  • videos
  • Vim
  • virtual keyboard
  • virtual reality
  • visualization
  • voice
  • voice kit
  • voice user interface
  • VR
  • VUI
  • wattpad
  • Wearables
  • Weave
  • web
  • web animations api
  • web apps
  • web components
  • web design
  • web designer
  • web development
  • web exponents
  • web fonts
  • web performance
  • web platform docs
  • web registry
  • webfonts
  • webgl
  • webmaster
  • WebP
  • website optimizer
  • websites
  • webVR
  • weekly roundup
  • WhiteHouse.gov
  • Who's at Google I/O
  • win
  • windows
  • windows programming
  • Winter of Code
  • women developers
  • Women in Tech
  • Women Tech Makers
  • women techmakers
  • WomenTechmakers
  • writing
  • wtm
  • xauth
  • yahoo
  • young developers
  • Young Makers
  • youtube
  • zlib
  • zurich
  • ZXing


Archive


  •     2021
    • Feb
    • Jan
  •     2020
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2019
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2018
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2017
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2016
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2015
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
  •     2014
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2013
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2012
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2011
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2010
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2009
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2008
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2007
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2006
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2005
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
Subscribe
Visit Google Developers for docs, event info, and more.
  • Google
  • Privacy
  • Terms