Service Workers & Progressive Web Apps

How should offline analytics be handled in a PWA?
self.addEventListener('fetch', event => {
  if (event.request.url.includes('/analytics')) {
    event.respondWith(
      fetch(event.request.clone()).catch(() => {
        return enqueueAnalytics(event.request.clone());
      })
    );
  }
});

self.addEventListener('sync', event => {
  if (event.tag === 'sync-analytics') {
    event.waitUntil(
      sendQueuedAnalytics()
    );
  }
});
Next Question (15/20)