@kattoshi/ngx-ga4
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

ngx-ga4 (Google Analytics4)

Implementation for using Google Analytics 4 in angular13+ apps.

Notice

I'm not good at English, so if there are any typos or mistranslations, please point them out.

How to use.

Setup

Specify the measurement ID in forRoot().
If omitted, specification can be delayed until initaize$() described later.
The reason why you can specify it in initalize$() is that your application will read the measurement ID from the external storage (parameter file) after it starts.

import { NgxGa4Module} from 'ngx-ga4';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    NgxGa4Module.forRoot({  /* measurementId : "G-xxxxxxxxxx" */ }),
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

======================

NgxGa4Service

Call Interface Events.

export class AppComponent implements OnInit {
  constructor (private _ga4 : NgxGa4Service){ }
  async ngOnInit(): Promise<void> {
    try {
      await this._ga4.install$("mesurement id");
      this._ga4.js();
      this._ga4.config();
    }
    catch(ex)
    {
      throw new Error (`Script load exception=${ex}`);
    }
  }
  onRaizeEvent() {
    this._ga4.event("event_name" , 
    { 
      timestamp : new Date().toISOString()
    });
  }
}

1. initalize$()

Load the global site tag script into your project.

install$ (measurementId? : string): Promise<void>

Also, if your application installed the global site tag normally, do not call install$().
https://developers.google.com/tag-platform/gtagjs/install#add_the_tag_to_your_website
Specify the measurement ID with NgxGa4Module.forRoot("measurementID");.


2. js()

js (date : Date = new Date()) : void

Run the code below.

call gtag("js" , date);

3. config()

config (streamSetting? : NgxGa4StreamSetting) : void

see https://developers.google.com/tag-platform/gtagjs/reference#config

Use a previously specified measurement ID.


4. configGroups()

configGroups (mesureId : string , groupName? : string ) : void

see https://developers.google.com/tag-platform/gtagjs/routing


5. event()

event (eventName: string , eventParams?: object) : void

see https://developers.google.com/tag-platform/gtagjs/configure#send_data_with_event


6. set()

set ( config : NgxGa4GlobalSettingType, value : NgxGa4GlobalSettingValue) : void

https://developers.google.com/tag-platform/gtagjs/configure#send_data_on_every_event_with_set

====================

Directive

1. gtagEvent

<div gtagEvent draggable="true" trackOn="dragstart" action="product_dragged" [params]="{ event_label: 'Something draggable' }">
    draggable
</div>
item type description
trackOn string Specifies the event name of the DOM Element.
When an event ('dragstart' in the example) occurs, it will send the event to ga4.
action string ga4 event name.
params object event parameters.

Package Sidebar

Install

npm i @kattoshi/ngx-ga4

Weekly Downloads

1,439

Version

1.0.0

License

MIT

Unpacked Size

76.6 kB

Total Files

18

Last publish

Collaborators

  • kattoshi