Google Tag Manager - v1.0.0
Vue
The Vue components in resources/js/vue/ mirror the React and Livewire pairs. They fetch from the package's HTTP routes and share the same backend behavior.
Publishing
php artisan vendor:publish --tag=google-tag-manager-js
Vue components land at resources/js/vendor/google-tag-manager/vue/. Or point your bundler at vendor/artisanpack-ui/google-tag-manager/resources/js/vue/ directly.
GtmSnippet
Client-side snippet installer. See Snippet Installer.
ContainerOverview
<script setup>
import { ContainerOverview } from '@/js/vendor/google-tag-manager/vue'
</script>
<template>
<ContainerOverview
account-id="123456"
container-id="654321"
workspace-id="1"
/>
</template>
Props (kebab-case in templates, camelCase in <script setup>):
| Prop | Type | Required | Purpose |
|---|---|---|---|
accountId |
string | Yes | GTM account ID. |
containerId |
string | Yes | GTM container ID. |
workspaceId |
string | null | No | Specific workspace. When null, the fetcher uses the default workspace. |
baseUrl |
string | No | Base URL for the package's routes. Defaults to window.__apGtmRoutes (see below). |
TagList
<TagList account-id="123456" container-id="654321" workspace-id="1" />
workspaceId is required here.
Route discovery
Same mechanism as the React components — emit @gtmRoutes in your Blade layout before your bundle loads, and the Vue components pick up the resolved URLs from window.__apGtmRoutes.
Composition-API–only
The Vue components are Composition-API single-file components. If you're on the Options API, wrap them in a small adapter or use the React components as reference and re-implement in your own SFC.