Aquest article és sobre les propietats de Google Analytics 4. Consulteu la secció Universal Analytics si encara feu servir una propietat de Universal Analytics, que deixarà de tractar dades l'1 de juliol de 2023 (l'1 d'octubre de 2023, en el cas de les propietats d'Analytics 360).

[GA4] Exemples de consultes de públics basades en dades de BigQuery

Després d'exportar les dades de Firebase a BigQuery, podeu consultar-les per trobar públics específics.

En aquest article us proporcionem una sèrie de plantilles que podeu fer servir com a base per a les vostres consultes. No oblideu modificar els exemples de consultes per adaptar-los a les particularitats de les vostres dades; per exemple, canvieu els noms de les taules i els intervals de dates.

Aquestes consultes tornen el nombre d'usuaris que hi ha al públic. Si en comptes d'això voleu obtenir la llista d'identificadors d'usuari del públic, traieu la funció COUNT() més externa; per exemple, COUNT(DISTINCT user_id) --> DISTINCT user_id.

Aquestes consultes fan servir SQL estàndard; assegureu-vos de triar aquesta opció abans d'executar una consulta. A BigQuery > Àrea de treball SQL, feu clic a Més > Configuració de consulta. A Configuració addicional > Dialecte SQL, seleccioneu Estàndard.

Ara com ara, aquestes dades de públic són únicament informatives i no admeten cap acció.

Ens agradaria saber si trobeu útils aquests exemples de consultes i si voldríeu tenir la possibilitat de consultar altres tipus de públics. Ens podeu fer arribar els vostres comentaris amb una sol·licitud de funció des de l'assistència de Firebase.

 

Contingut d'aquest article:

Compradors

/**
 * Calcula el públic format per compradors.
 *
 * Compradors = usuaris que han registrat un esdeveniment in_app_purchase o 
 * purchase.
 */
 
SELECT
  COUNT(DISTINCT user_id) AS purchasers_count
FROM
  -- PLEASE REPLACE WITH YOUR TABLE NAME.
  `YOUR_TABLE.events_*`
WHERE
  event_name IN ('in_app_purchase', 'purchase')
  -- PLEASE REPLACE WITH YOUR DESIRED DATE RANGE
  AND _TABLE_SUFFIX BETWEEN '20180501' AND '20240131';
  
  

Usuaris actius durant N dies

/**
 * Crea un públic format per usuaris actius durant N dies.
 *
 * Usuaris actius durant N dies = usuaris que han registrat almenys un esdeveniment 
 * amb el paràmetre d'esdeveniment engagement_time_msec > 0 en els N darrers dies.
*/

SELECT
  COUNT(DISTINCT user_id) AS n_day_active_users_count
FROM
  -- PLEASE REPLACE WITH YOUR TABLE NAME.
  `YOUR_TABLE.events_*` AS T
    CROSS JOIN
      T.event_params
WHERE
  event_params.key = 'engagement_time_msec' AND event_params.value.int_value > 0
  -- Pick events in the last N = 20 days.
  AND event_timestamp >
      UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 20 DAY))
  -- PLEASE REPLACE WITH YOUR DESIRED DATE RANGE.
  AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131';
  
  

Usuaris inactius durant N dies

/**
 * Crea un públic format per usuaris inactius durant N dies.
 *
 * Usuaris inactius durant N dies = usuaris dels M darrers dies que no han registrat  
 * cap esdeveniment amb el paràmetre d'esdeveniment engagement_time_msec > 0 
 *  en els N darrers dies, on M > N.
 */

 
SELECT
  COUNT(DISTINCT MDaysUsers.user_id) AS n_day_inactive_users_count
FROM
  (
    SELECT
      user_id
    FROM
      /* PLEASE REPLACE WITH YOUR TABLE NAME */
      `YOUR_TABLE.events_*` AS T
    CROSS JOIN
      T.event_params
    WHERE
      event_params.key = 'engagement_time_msec' AND event_params.value.int_value > 0
      /* Has engaged in last M = 7 days */
      AND event_timestamp >
          UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY))
      /* PLEASE REPLACE WITH YOUR DESIRED DATE RANGE */
      AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131'
  ) AS MDaysUsers
-- EXCEPT ALL is not yet implemented in BigQuery. Use LEFT JOIN in the interim.
LEFT JOIN
  (
    SELECT
      user_id
    FROM
      /* PLEASE REPLACE WITH YOUR TABLE NAME */
      `YOUR_TABLE.events_*`AS T
    CROSS JOIN
      T.event_params
    WHERE
      event_params.key = 'engagement_time_msec' AND event_params.value.int_value > 0
      /* Has engaged in last N = 2 days */
      AND event_timestamp >
          UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 2 DAY))
      /* PLEASE REPLACE WITH YOUR DESIRED DATE RANGE */
      AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131'
  ) AS NDaysUsers
  ON MDaysUsers.user_id = NDaysUsers.user_id
WHERE
  NDaysUsers.user_id IS NULL;
  
  

Usuaris actius freqüentment

/**
 * Crea un públic format per usuaris actius freqüentment.
 *
 * Usuaris actius freqüentment = usuaris que han registrat almenys
 * un esdeveniment amb el paràmetre d'esdeveniment engagement_time_msec > 0 
 * en N dels M darrers dies, on M > N.
 */

 
SELECT
  COUNT(DISTINCT user_id) AS frequent_active_users_count
FROM
  (
    SELECT
      user_id,
      COUNT(DISTINCT event_date)
    FROM
      -- PLEASE REPLACE WITH YOUR TABLE NAME.
      `YOUR_TABLE.events_*` AS T
    CROSS JOIN
      T.event_params
    WHERE
      event_params.key = 'engagement_time_msec' AND event_params.value.int_value > 0
      -- User engagement in the last M = 10 days.
      AND event_timestamp >
          UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 10 DAY))
      -- PLEASE REPLACE YOUR DESIRED DATE RANGE.  For optimal performance
      -- the _TABLE_SUFFIX range should match the INTERVAL value above.
      AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131'
    GROUP BY 1
    -- Having engaged in at least N = 4 days.
    HAVING COUNT(event_date) >= 4
  );

  

Usuaris molt actius

/**
 * Crea un públic format per usuaris molt actius.
 *
 * Usuaris molt actius = usuaris que han estat actius durant més de N minuts
 * en els M darrers dies, on M > N.
*/

SELECT
  COUNT(DISTINCT user_id) AS high_active_users_count
FROM
  (
    SELECT
      user_id,
      event_params.key,
      SUM(event_params.value.int_value)
    FROM
      -- PLEASE REPLACE WITH YOUR TABLE NAME.
      `YOUR_TABLE.events_*` AS T
    CROSS JOIN
      T.event_params
    WHERE
      -- User engagement in the last M = 10 days.
      event_timestamp >
          UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 10 DAY))
      AND event_params.key = 'engagement_time_msec'
      -- PLEASE REPLACE YOUR DESIRED DATE RANGE.
      AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131'
    GROUP BY 1, 2
    HAVING
      -- Having engaged for more than N = 0.1 minutes.
      SUM(event_params.value.int_value) > 0.1 * 60 * 1000000
  );

  

Usuaris adquirits

/**
 * Crea un públic format per usuaris adquirits.
 *
 * Usuaris adquirits = usuaris que han estat adquirits a través d'algun mitjà, font o campanya.
 */
 
SELECT
  COUNT(DISTINCT user_id) AS acquired_users_count
FROM
  -- PLEASE REPLACE WITH YOUR TABLE NAME.
  `YOUR_TABLE.events_*`
WHERE
  traffic_source.source = 'google'
  AND traffic_source.medium = 'cpc'
  AND traffic_source.name = 'VTA-Test-Android'
  -- PLEASE REPLACE YOUR DESIRED DATE RANGE.
  AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131';
  
  

Cohorts amb filtres

/**
 * Crea un públic format per usuaris adquirits la darrera setmana
 * a través de campanyes de Google, com ara cohorts amb filtres.
 *
 * Una cohort és un grup d'usuaris adquirits la darrera setmana, és a dir, entre 7 i
 * 14 dies enrere. El filtre de cohort és per als usuaris adquirits mitjançant una
 * campanya directa.
 */
 
SELECT
  COUNT(DISTINCT user_id) AS users_acquired_through_google_count
FROM
  -- PLEASE REPLACE WITH YOUR TABLE NAME.
  `YOUR_TABLE.events_*`
WHERE
  event_name = 'first_open'
  -- Cohort: opened app 1-2 weeks ago. One week of cohort, aka. weekly.
  AND event_timestamp >
      UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 14 DAY))
  AND event_timestamp <
      UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY))
  -- Cohort filter: users acquired through 'google' source.
  AND traffic_source.source = 'google'
  -- PLEASE REPLACE YOUR DESIRED DATE RANGE.
  AND _TABLE_SUFFIX BETWEEN '20180501' AND '20240131';
  
  
Ha estat útil?
Com ho podem millorar?
Cerca
Esborra la cerca
Tanca la cerca
Aplicacions de Google
Menú principal
Cerca al Centre d'ajuda
true
69256
false