import React from 'react' import Document, { Head, Main, NextScript } from 'next/document' import * as snippet from '@segment/snippet' const { // This write key is associated with https://segment.com/nextjs-example/sources/nextjs. ANALYTICS_WRITE_KEY = 'NPsk1GimHq09s7egCUlv7D0tqtUAU5wa', NODE_ENV = 'development' } = process.env export default class extends Document { static getInitialProps ({ renderPage }) { const { html, head, errorHtml, chunks } = renderPage() return { html, head, errorHtml, chunks } } renderSnippet () { const opts = { apiKey: ANALYTICS_WRITE_KEY, // note: the page option only covers SSR tracking. // Page.js is used to track other events using `window.analytics.page()` page: true } if (NODE_ENV === 'development') { return snippet.max(opts) } return snippet.min(opts) } render () { return ( {/* Inject the Segment snippet into the of the document */}