Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Events in Analytics are missing In the dashboard /Big query #3470

Open
johnico opened this issue Dec 2, 2023 · 1 comment
Open

Events in Analytics are missing In the dashboard /Big query #3470

johnico opened this issue Dec 2, 2023 · 1 comment

Comments

@johnico
Copy link

johnico commented Dec 2, 2023

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);
  }
}
@google-oss-bot
Copy link

This issue does not seem to follow the issue template. Make sure you provide all the required information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants