I use analytics in my chrome extension like this
background.js
// Standard Google Universal Analytics code
(function(i,s,o,g,r,a,m)
{i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
m=s.getElementsByTagName(o)
[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-
analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX-YY', 'auto');
ga('set', 'checkProtocolTask', function(){}); // Removes failing protocol
ga('require', 'displayfeatures');
with all the necessary permissions in manifest.json
Everything works as expected , except the cases where there is not internet at the start of the extension. In cases like these,the events are not sent to server as analytics.js is not loaded. This leads to loss of events until the next chrome restart with successful internet connection.
Is there a workaround to this.