Hi everyone!
From November 20th we’ll be making a change to the tweet, follow, retweet and favorite JavaScript events when using Twitter for Websites. They will now be triggered when a user invokes the action in your page, rather than after the action is completed.
We’re making this change because in the past few years the shift to mobile has made these events an unreliable and unrepresentative means of communicating interactions to your pages.
Android and iOS 9—accounting for nearly half of all web usage—provide low-level linking systems to invoke native apps in place of web pages. While this makes for a neat user experience, the operating systems don’t allow our Twitter app to communicate with the web page that invoked it; user actions such as tweet and follow vanish into the ether.
To fix this we’re simplifying the events: You’ll now get the event immediately when the Intent is triggered, not after it’s completed. This means you’ll get events in all our supported browsers. We’re maintaining the existing event names, so if—for example—you used follow to trigger a “More Articles By This Author” prompt in your page, it’s going to keep working and will now work reliably in more places. If you are using the events for analytics you will see an increase in event numbers as the meaning of the event has changed.
We designed and rejected some more complex alternatives before settling on this change, concluding that it’s most important to us to provide a robust and predictable API that you can trust and rely on. This change to events reflects the reality of the web platform today and is a solid foundation upon which you can integrate your applications with Twitter.
Please ask us any questions in the Twitter for Websites forum, and if there are events we don’t offer today that you’d find useful please let us know so we can consider them for future releases.
Thanks,
Ben