@elbwalker/destination-web-google-ga4
Version:
Google GA4 web destination for walkerOS
45 lines (40 loc) • 1.56 kB
TypeScript
import { Mapping } from '@elbwalker/types';
import { DestinationWeb } from '@elbwalker/walker.js';
declare global {
interface Window {
dataLayer: Array<unknown> | unknown;
gtag: Gtag.Gtag;
}
}
interface Destination extends DestinationWeb.Destination<Custom, CustomEvent> {
}
type Config = DestinationWeb.Config<Custom, CustomEvent>;
interface Custom {
measurementId: string;
debug?: boolean;
include?: Include;
pageview?: boolean;
server_container_url?: string;
snakeCase?: boolean;
transport_url?: string;
}
type EventConfig = Mapping.EventConfig<CustomEvent>;
interface CustomEvent {
include?: Include;
}
type Param = Mapping.Value;
type Include = Array<'all' | 'context' | 'data' | 'event' | 'globals' | 'source' | 'user' | 'version'>;
type Parameters = Gtag.ControlParams & Gtag.EventParams & Gtag.CustomParams;
type index_Config = Config;
type index_Custom = Custom;
type index_CustomEvent = CustomEvent;
type index_Destination = Destination;
type index_EventConfig = EventConfig;
type index_Include = Include;
type index_Param = Param;
type index_Parameters = Parameters;
declare namespace index {
export type { index_Config as Config, index_Custom as Custom, index_CustomEvent as CustomEvent, index_Destination as Destination, index_EventConfig as EventConfig, index_Include as Include, index_Param as Param, index_Parameters as Parameters };
}
declare const destinationGoogleGA4: Destination;
export { index as DestinationGoogleGA4, destinationGoogleGA4 as default, destinationGoogleGA4 };