handleAckee = async function (pathname, environment, options = {}) {
  await loadExternalResource(siteConfig('ANALYTICS_ACKEE_TRACKER'), 'js')
  const ackeeTracker = window.ackeeTracker

  const instance = ackeeTracker?.create(environment.server, options)

  if (instance == null) {
    console.warn('Skipped record creation because useAckee has been called in a non-browser environment')
    return
  }

  const hasPathname = (
    pathname != null && pathname !== ''
  )

  if (hasPathname === false) {
    console.warn('Skipped record creation because useAckee has been called without pathname')
    return
  }

  const attributes = ackeeTracker?.attributes(options.detailed)
  const url = new URL(pathname, location)

  return instance.record(environment.domainId, {
    ...attributes,
    siteLocation: url.href
  }).stop
}
Function to use Ackee.
Creates an instance once and a new record every time the pathname changes.
Safely no-ops during server-side rendering.
@param {?String} pathname - Current path.
@param {Object} environment - Object containing the URL of the Ackee server and the domain id.
@param {?Object} options - Ackee options.