Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Events in Analytics are missing In the dashboard /Big query

Ouverte
#3,470 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
angular, firebase, typescript
Domaine
analytics, frontend

Piste de recherche

Commencez par l’abonnement du composant Angular et AnalyticsService.customlogEvent, puis examinez les appels à AngularFireAnalytics.logEvent et setUserProperties. Reproduisez les événements manquants signalés et comparez la sortie du débogueur avec les événements exportés vers BigQuery ; le travail est terminé lorsque la cause des événements manquants et les éventuelles limites de fiabilité prises en charge sont établies.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Version info
Angular: 14

Firebase: 9.X.X

AngularFire: 7.4.1

Other (e.g. Ionic/Cordova, Node, browser, operating system): chrome, phones, Edge, safari

How to reproduce these conditions: trying to upload app

Steps to set up and reproduce: X

Sample data and security rules: X

Debug output
** In the debugger, I also notice the term 'undefined.' I'm not sure if this is related. Here's a snippet of what I see in the debugger:

js?l=dataLayer&id=G-XXXX:296 Sending event "event_name" to undefined
js?l=dataLayer&id=G-XXXX:296 Request parameters:
js?l=dataLayer&id=G-XXXX:296 en: event_name
js?l=dataLayer&id=G-XXXX:296 ep.origin: firebase
js?l=dataLayer&id=G-XXXX:296 ep.some_id: 12123124
js?l=dataLayer&id=G-XXXXX:296 ep.some_name: Name 123 Name

js?l=dataLayer&id=G-XXXX:296 Sending request: https://www.google-analytics.com/g/collect?v=2&tid=G-.......

**

** Output from firebase.database().enableLogging(true); ** X

** Screenshots ** - X

Expected behavior

I have an Angular application integrated with Firebase, and the data is exported to BigQuery.

In my Angular app, there is a requirement to send an event to analytics upon loading. However, I've noticed that only 80-90% of other events(in other application) are being tracked, even for the same user and the same device/platform, and there are no ad blockers in use.

I have attempted to use async/await to ensure that the event is sent reliably. Is this approach appropriate? Does the code appear to be correct? Is there a way to ensure that the event will always be sent?

Could it be beneficial to send another event elsewhere? Is there a potential issue with the data itself?

Is there something that can be improved in the analytics configuration itself?

When using the Analytics Debugger Chrome extension, I can see the events, but testing with external users is challenging.

My goal is to get 100%of the events

Actual behavior

component

   this.test$ = this.data$.pipe(map((data) => data.test));
   this.test$.subscribe(async (test) => {
      const analyticsEvent: AnalyticsEventData = {
        some_id: string,
        some_id2: string
        some_name: string,
        some_id: string,
        some_date: firebase-timestampObject.toMillis(),
        app_name: 'string',
      };

      this.analyticsService.data = analyticsEvent;

      await this.analyticsService.custonlogEvent('event_name');
      await this.analyticsService.setUserProperties(analyticsEvent);

    });

any my analytics service

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

@Injectable({
  providedIn: 'root',
})
export class AnalyticsService {
  constructor(private analytics: AngularFireAnalytics) {}
  private _data:AnalyticsEventData;

  get data() {
    return this._data;
  }
  set data(value) {
    this._data = value;
  }

  async customlogEvent(eventName: string, params?: { [key: string]: any }) {
    try {
      if (!this._data) throw new Error('error');

      const generalParameters = this._data;

      const paramsObject = {
        ...generalParameters,
        ...params,
      };
      await this.analytics.logEvent(eventName, paramsObject);
    } catch (e) {
      console.log(e);
    }

    return true;
  }

  async setUserProperties(params: { [key: string]: any }) {
    return await this.analytics.setUserProperties(params);
  }
}
Langage dominant
TypeScript
Étoiles
7.8k
Forks
2.2k
Merge moyen
3 j 6 h
PR mergées (30 j)
5

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de angular/angularfire

Toutes les issues de angular/angularfire

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.