vue-gtag
Github
v3
v3
  • Get started
  • gtag.js consent management
  • Page tracker
  • Multiple domain tracking
  • Plugin hooks
  • Global namespace
  • Access gtag instance directly
  • Plugin options
  • Migration v2 to v3
  • Methods
    • pageview
    • event
    • consent
    • consentGrantedAll
    • consentDeniedAll
    • query
    • screenview
    • customMap
    • ecommerce
    • linker
    • set
    • time
    • config
    • exception
Powered by GitBook
On this page

Plugin hooks

The plugin offers hooks for nearly all aspects of its life cycle.

export type Hooks = {
  /**
   * Triggered before a route tracking event is fired.
   * @param route - The current route being tracked.
   */
  "router:track:before"?: (route: Route) => void;

  /**
   * Triggered after a route tracking event is fired.
   * @param route - The current route that was tracked.
   */
  "router:track:after"?: (route: Route) => void;

  /**
   * Triggered before the initial configuration request is sent.
   */
  "config:init:before"?: () => void;

  /**
   * Triggered after the initial configuration request is sent.
   */
  "config:init:after"?: () => void;

  /**
   * Called when the gtag.js script successfully loads.
   */
  "script:loaded"?: () => void;

  /**
   * Called when the gtag.js script fails to load.
   * @param error - The error encountered during script loading.
   */
  "script:error"?: (error: unknown) => void;
};

For example, you want to set some events before the first configuration hit

import { configure, customMap } from "vue-gtag";

configure({
  tagId: "GA_MEASUREMENT_ID",
  hooks: {
    "config:init:before": () => {
      customMap({ 'dimension1': 'test_cs1' })
    };
  }
})

PreviousMultiple domain trackingNextGlobal namespace

Last updated 1 month ago