plugins/gtag.lisp (613 bytes)
1 (defpackage :coleslaw-gtag 2 (:use :cl) 3 (:export #:enable) 4 (:import-from :coleslaw #:add-injection)) 5 6 (in-package :coleslaw-gtag) 7 8 (defvar *analytics-js* 9 "<!-- Global site tag (gtag.js) - Google Analytics --> 10 <script async src='https://www.googletagmanager.com/gtag/js?id=~a'></script> 11 <script> 12 window.dataLayer = window.dataLayer || []; 13 function gtag(){dataLayer.push(arguments);} 14 gtag('js', new Date()); 15 16 gtag('config', '~a'); 17 </script>") 18 19 (defun enable (&key tracking-code) 20 (let ((snippet (format nil *analytics-js* tracking-code tracking-code))) 21 (add-injection (constantly snippet) :head)))