Astro x GA4
pulished:
Google Analytics 4をAstroで使う
ここらへんは省略。適当にStream作成やらなんやらでなんとかする。
PartyTime
npm install -D @astrojs/partytown
こいつで導入おわり。
astro.config.mjs
に以下を追加。
import partytown from "@astrojs/partytown";
export default defineConfig({
integrations: [
partytown({
// Adds dataLayer.push as a forwarding-event.
config: {
forward: ["dataLayer.push"],
},
}),
],
});
TrackingIDの用意
Note: Astro公式の記事だとUA-XXXXX-XXみたいなGA4までの古いTrackingIDを使っている。 しかし、GA4ではG-XXXXXXXみたいなTrackingIDを使うので注意。
Layout.astro
とかにいれる
以下のような感じで。
<!-- head -->
<script
type="text/partytown"
src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID">
</script>
<script type="text/partytown">
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("config", "GA_MEASUREMENT_ID");
</script>
<!-- more head -->
- Replace the GA_MEASUREMENT_ID with your own tracking ID.
- Add a type attribute and set it to text/partytown to both scripts. This tells partytown which script tags to handle.
参考
- Add google analytics to Astro with Partytown
- これを参考にした。めちゃくちゃわかりやすい。
- PartyTown document: Google Tag Manager