Saltar al contenido

Enviar datos de eventos (ficha producto) a Google Analytics 4 desde tu aplicación PWA en ionic

Para enviar datos de eventos a Google Analytics 4 desde tu aplicación PWA, sigue estos pasos:

  1. Asegúrate de tener una cuenta de Google Analytics 4 y haber creado un flujo de trabajo en el que puedas registrar eventos. Puedes encontrar información sobre cómo hacerlo en la documentación oficial de Google Analytics 4.
  2. Agrega el paquete @angular/fire a tu proyecto. Este paquete permite interactuar con Firebase y enviar eventos a Google Analytics 4.
  3. Crea un servicio de Angular que se encargue de enviar los eventos. En este servicio, importa el paquete @angular/fire y configura una conexión con Firebase.
  4. En el servicio, crea una función que envíe el evento a Google Analytics 4. Esta función debe recibir los datos que quieres enviar como parámetros. Por ejemplo, para enviar el ID de un producto, la función podría tener un parámetro productId.
  5. Dentro de la función, crea un objeto de evento que contenga la información que quieres enviar. Por ejemplo, si quieres enviar el ID del producto, el objeto podría tener una propiedad productId con el valor correspondiente.
  6. Usa la función logEvent del paquete @angular/fire para enviar el evento a Google Analytics 4. La función debe recibir dos parámetros: el nombre del evento y el objeto de evento que creaste anteriormente.
  7. Llama a la función de envío de eventos desde el componente que necesites, por ejemplo, el componente que muestra la ficha de producto.

Aquí tienes un ejemplo de cómo podrías implementar el servicio que envía eventos a Google Analytics 4 desde tu aplicación PWA utilizando Firebase y @angular/fire.

Primero, instala los siguientes paquetes en tu proyecto:

npm install firebase @angular/fire

Luego, en tu archivo app.module.ts, importa el módulo de AngularFire y configúralo con las credenciales de tu proyecto de Firebase:

import { AngularFireModule } from '@angular/fire';
import { AngularFireAnalyticsModule, ScreenTrackingService } from '@angular/fire/analytics';

@NgModule({
  imports: [
    AngularFireModule.initializeApp({
      // Configura aquí las credenciales de tu proyecto de Firebase
      apiKey: 'API_KEY',
      authDomain: 'PROJECT_ID.firebaseapp.com',
      databaseURL: 'https://PROJECT_ID.firebaseio.com',
      projectId: 'PROJECT_ID',
      storageBucket: 'PROJECT_ID.appspot.com',
      messagingSenderId: 'SENDER_ID',
      appId: 'APP_ID',
      measurementId: 'MEASUREMENT_ID',
    }),
    AngularFireAnalyticsModule,
  ],
  providers: [ScreenTrackingService],
})
export class AppModule {}

Después, crea un servicio que se encargue de enviar los eventos a Google Analytics 4. Por ejemplo, podrías llamarlo analytics.service.ts. En este servicio, importa los módulos de AngularFire y Firebase y configura la conexión con Firebase:

import { Injectable } from '@angular/core';
import { AngularFireAnalytics } from '@angular/fire/analytics';
import firebase from 'firebase/app';

@Injectable({
  providedIn: 'root',
})
export class AnalyticsService {
  constructor(private analytics: AngularFireAnalytics) {
    // Configura aquí las credenciales de tu proyecto de Firebase
    firebase.initializeApp({
      apiKey: 'API_KEY',
      authDomain: 'PROJECT_ID.firebaseapp.com',
      databaseURL: 'https://PROJECT_ID.firebaseio.com',
      projectId: 'PROJECT_ID',
      storageBucket: 'PROJECT_ID.appspot.com',
      messagingSenderId: 'SENDER_ID',
      appId: 'APP_ID',
      measurementId: 'MEASUREMENT_ID',
    });
  }

  sendEvent(eventName: string, eventParams: { [key: string]: any }) {
    this.analytics.logEvent(eventName, eventParams);
  }
}

En la función sendEvent, el primer parámetro es el nombre del evento que quieres enviar (por ejemplo, "view_product"), y el segundo parámetro es un objeto que contiene los parámetros adicionales que quieres enviar junto con el evento (por ejemplo, { productId: 123, userId: 'abc' }).

Finalmente, en el componente que muestra la ficha de producto, puedes inyectar el servicio de AnalyticsService y llamar a la función sendEvent para enviar los datos del evento. Por ejemplo:

import { Component } from '@angular/core';
import { AnalyticsService } from './analytics.service';

@Component({
  selector: 'app-product',
  template: `
    <h1>{{ product.name }}</h1>
    <p>{{ product.description }}</p>
  `,
})
export class ProductComponent {
  product = { id: 123, name: 'Product 123', description: 'This is product 123' };

  constructor(private analyticsService: AnalyticsService) {}

  ngOnInit() {
    // Envia el evento "view_product" cuando se carga el componente
    this.analyticsService.sendEvent('view_product', { productId: this.product.id });
  }
}

En este ejemplo, se envía un evento de tipo "view_product" cuando se carga el componente `ProductComponent

Publicado enFirebaseGoogle Analytics 4ionicSin categoría