Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions kits/google-analytics-4/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"root": true,
"env": {
"browser": true,
"node": true
},
"globals": {
"mParticle": true,
"gtag": true,
"describe": true,
"Should": true,
"MockHttpServer": true,
"it": true,
"sinon": true,
"const": true,
"before": true,
"beforeEach": true,
"after": true,
"Leanplum": true
},
"extends": ["plugin:prettier/recommended", "eslint:recommended"],
"plugins": ["prettier"],
"rules": {
"prettier/prettier": "error",
"no-prototype-builtins": "off",
"no-empty": "off",
"no-useless-escape": "off",
"no-unexpected-multiline": "off"
}
}
1 change: 1 addition & 0 deletions kits/google-analytics-4/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
5 changes: 5 additions & 0 deletions kits/google-analytics-4/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"singleQuote": true,
"trailingComma": "es5",
"tabWidth": 4
}
37 changes: 37 additions & 0 deletions kits/google-analytics-4/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# mParticle Google Analytis 4 Kit Integration


This repo contains the client side and server side Google Analytics 4 JS integration for mParticle.

# Usage
JS kits are automatically included with your mParticle.js file when loading mParticle via the [snippet](https://docs.mparticle.com/developers/sdk/web/getting-started/#add-the-sdk-snippet).

If loading mParticle via [npm](https://docs.mparticle.com/developers/sdk/web/self-hosting/), you will have to manually include either the client side or server side GA4 kit via npm.

```
npm i @mparticle/web-google-analytics-4-client-kit
```

or

```
npm i @mparticle/web-google-analytics-4-server-kit
```

Full documentation on usage can be found [here](https://docs.mparticle.com/integrations/google-analytics-4/event/).

#License

Copyright 2022 mParticle, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
13 changes: 13 additions & 0 deletions kits/google-analytics-4/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions kits/google-analytics-4/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"name": "@mparticle/web-google-analytics-4-kit",
"version": "1.0.0",
"description": "mParticle Google Analytics 4 kit integration",
"repository": {
"type": "git",
"url": "https://github.com/mParticle/mparticle-web-sdk.git",
"directory": "kits/google-analytics-4"
},
"scripts": {
"build": "npm ci --prefix packages/GA4Client && npm run build --prefix packages/GA4Client && npm ci --prefix packages/GA4Server && npm run build --prefix packages/GA4Server",
"test": "npm test --prefix packages/GA4Client && npm test --prefix packages/GA4Server"
},
"author": "mParticle Developers <developers@mparticle.com> (https://www.mparticle.com)",
"license": "Apache-2.0"
}
30 changes: 30 additions & 0 deletions kits/google-analytics-4/packages/GA4Client/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"root": true,
"env": {
"browser": true,
"node": true
},
"globals": {
"mParticle": true,
"gtag": true,
"describe": true,
"Should": true,
"MockHttpServer": true,
"it": true,
"sinon": true,
"const": true,
"before": true,
"beforeEach": true,
"after": true,
"Leanplum": true
},
"extends": ["plugin:prettier/recommended", "eslint:recommended"],
"plugins": ["prettier"],
"rules": {
"prettier/prettier": "error",
"no-prototype-builtins": "off",
"no-empty": "off",
"no-useless-escape": "off",
"no-unexpected-multiline": "off"
}
}
4 changes: 4 additions & 0 deletions kits/google-analytics-4/packages/GA4Client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
test/test-bundle.js
test/end-to-end-testapp/compilation.js
dist/
1 change: 1 addition & 0 deletions kits/google-analytics-4/packages/GA4Client/.nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v16.17.0
131 changes: 131 additions & 0 deletions kits/google-analytics-4/packages/GA4Client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
## [1.5.1](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.5.0...v1.5.1) (2026-03-04)


### Bug Fixes

* added attribute merging to logCheckoutOptionEvent ([#65](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/65)) ([8636f3f](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/8636f3fae03f06d1ab5c69dfe0ff1d4aa44496de))

# [1.5.0](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.4.5...v1.5.0) (2025-05-05)


### Features

* Map product position to GA4 item index ([#62](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/62)) ([308076c](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/308076cc22b6a7f9e78bfb0c40486654e09a2a98))

## [1.4.5](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.4.4...v1.4.5) (2024-10-09)


### Bug Fixes

* send default and update consent payloads on kit init ([#61](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/61)) ([ec0bf79](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/ec0bf7938feed1456f69ed8169fc5795b8dee063))

## [1.4.4](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.4.3...v1.4.4) (2024-08-20)


### Bug Fixes

* forward Impressions and Promotions custom attributes ([#60](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/60)) ([d13f694](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/d13f6948f9fca0c554501035b3a7c4da91f4b911))

## [1.4.3](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.4.2...v1.4.3) (2024-05-07)


### Bug Fixes

* exceptional max attribute length and page_referrer flag addition ([#59](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/59)) ([d81fff3](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/d81fff3cc045c594289dbd9981fde57eaeeecf7f))

## [1.4.2](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.4.1...v1.4.2) (2024-04-16)


### Bug Fixes

* Set mapped consent name from server to lowercase ([#58](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/58)) ([287a8a3](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/287a8a3b69c58a0389edebcd5fc64d5ae5821ff8))

## [1.4.1](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.4.0...v1.4.1) (2024-03-11)


### Bug Fixes

* Include send_to as event param to support multiple measurement ids ([#57](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/57)) ([7d8696d](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/7d8696d720b4672c605a7bde9b92bb44b394b70d))

# [1.4.0](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.3.1...v1.4.0) (2024-03-01)


### Features

* Add support for Consent State ([#56](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/56)) ([388c346](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/388c346c5074917b32f8db8062c7d815b05cd66a))

## [1.3.1](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.3.0...v1.3.1) (2023-11-29)


### Bug Fixes

* Add check for cleansing callback; replace error with warn ([7184c2b](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/7184c2b10005db7a1486df62576b1c6ef676eb0b))

# [1.3.0](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.2.0...v1.3.0) (2023-10-02)


### Features

* Add Customer Configurable Standardization ([#53](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/53)) ([c851914](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/c85191485d5ae52cedf6949eb1c94fe05776f16b))

# [1.2.0](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.1.0...v1.2.0) (2023-09-11)


### Bug Fixes

* Add suffix of v3 to forwarder, add test infrastructure ([#38](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/38)) ([4420648](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/4420648f3e86ebb97305ebb921355a08b40c2da5))
* Flatten product.Attributes to be on the product level ([#41](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/41)) ([ee03770](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/ee037705f1d49aaa1322317dca7deb06066a8bda))
* Map CouponCode to reserved attributes `coupon` ([#50](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/50)) ([f7380d4](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/f7380d423df6c8663655dc7c15b28291b92964da))
* Prevent attribute cleansing when data cleansing is disabled ([#52](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/52)) ([9847bf8](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/9847bf858c8eb9e749b5c146a0ef1082c46c9422))
* Re-map affiliation from event level to item level ([#51](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/51)) ([b7dfef8](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/b7dfef84aa4292ed023f731d851b748f5ce04fa9))
* Update package.json ([#39](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/39)) ([d4ea321](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/d4ea32128a540b5fed5587eecfc7a246b3caa00f))


### Features

* Limit commerce event attributes to 100 keys ([#47](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/47)) ([1813a98](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/1813a986816f838fb14db3275e7bdc17b00f178f))
* Limit event attributes to 100 keys ([#40](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/40)) ([057543b](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/057543be5c4294758a8a276e7b5d71866516b69b))
* Limit item params to 10 non-reserved keys ([#49](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/49)) ([7670d99](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/7670d99c5a0f9593c027022a5d4d0544986c65df))
* Standardize Names Keys and Values ([#36](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/36)) ([f3e5aa1](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/f3e5aa109b584de6c15b558bdb0070092a2c26bd))

# [1.1.0](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.0.6...v1.1.0) (2023-05-30)


### Features

* Capture Client ID on Client Side Forwarding ([#37](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/37)) ([9636091](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/963609125d598220a69c8d1f7b854c41f345c3ba))

## [1.0.6](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.0.5...v1.0.6) (2023-02-22)


### Bug Fixes

* Check if Event Attributes are empty before truncating ([#35](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/35)) ([c17f92b](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/c17f92b4f747fa4669ba76780d71ed7311b043bd))
* Relocate config call earlier in kit initialization ([#34](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/34)) ([4587fda](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/4587fdaa998e114886412c5e99f18392c178eca3))

## [1.0.5](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.0.4...v1.0.5) (2023-01-04)


### Bug Fixes

* Correct custom flags for title and location ([#32](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/32)) ([5e54726](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/5e547269c7343c9308aa68f81c69c3c8084e68ca))
* Truncate event and user attribute key and value limits ([#30](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/30)) ([d592dfb](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/d592dfbaec887f6f029909369d7fee82ab13c70c))

## [1.0.4](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/compare/v1.0.3...v1.0.4) (2022-10-04)


### Bug Fixes

* Add Event Attributes to Pageview Event ([#26](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/issues/26)) ([6b561ec](https://github.com/mparticle-integrations/mparticle-javascript-integration-google-analytics-4/commit/6b561ec8d9d10b396f14939cdf013dd6c9e70a16))

## Releases

--

#### 1.0.3 - 2022-08-15

* fix: Update browser/files field in package.json (#25)

#### 1.0.2 - 2022-07-12

* Fix import filename with GA4 filename instead of old GA kit filename
28 changes: 28 additions & 0 deletions kits/google-analytics-4/packages/GA4Client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# mParticle Google Analytis 4 Client Side Kit Integration

# Usage
JS kits are automatically included with your mParticle.js file when loading mParticle via the [snippet](https://docs.mparticle.com/developers/sdk/web/getting-started/#add-the-sdk-snippet).

If loading mParticle via [npm](https://docs.mparticle.com/developers/sdk/web/self-hosting/), you will have to manually include the client side GA4 kit via npm:

```
npm i @mparticle/web-google-analytics-4-client-kit
```

Full documentation on usage can be found [here](https://docs.mparticle.com/integrations/google-analytics-4/event/).

# License

Copyright 2022 mParticle, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading
Loading