Skip to content

Commit d9319f6

Browse files
gtag events
1 parent 1056c84 commit d9319f6

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

packages/sources/datalayer/src/mapping.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,10 @@ export function objToEvent(obj: unknown, config: Config): MappedEvent | void {
9090
}
9191

9292
// https://developers.google.com/tag-platform/gtagjs/reference
93-
export function gtagToObj(args: IArguments): WalkerOS.AnyObject | void {
94-
const [command, value, params] = args;
93+
export function gtagToObj(args: IArguments): Array<WalkerOS.AnyObject> {
94+
const [command, value, params] = Array.from(args);
95+
96+
if (isObject(command)) return [command];
9597

9698
let event: string | undefined;
9799
let obj = isObject(params) ? params : {};
@@ -116,8 +118,8 @@ export function gtagToObj(args: IArguments): WalkerOS.AnyObject | void {
116118
break;
117119
default:
118120
// Ignore command (like get)
119-
return;
121+
return [];
120122
}
121123

122-
return { ...obj, event };
124+
return [{ ...obj, event }];
123125
}

packages/sources/datalayer/src/push.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,12 @@ export function push(config: Config, ...args: unknown[]) {
6666
)(...args);
6767
}
6868

69-
function getEntries(args: unknown[]): unknown[] {
70-
if (isArray(args) && isArguments(args[0])) return [gtagToObj(args[0])]; // gtag
69+
function getEntries(args: unknown): unknown[] {
7170
if (isObject(args)) return [args]; // dataLayer.push
72-
return args;
71+
if (isArray(args)) {
72+
if (isArguments(args[0])) return gtagToObj(args[0]); // gtag
73+
return args;
74+
}
75+
76+
return [];
7377
}

0 commit comments

Comments
 (0)