Mintalekérdezések a BigQuery-adatokon alapuló közönségekhez

A Firebase-adatok exportálása után a BigQuery rendszerbe az adott közönségekhez kapcsolódóan lekérdezheti azokat az adatokat.

Ez a cikk több sablont biztosít, amelyeket a lekérdezések alapjaként használhat. Ne feledje módosítani a példalekérdezéseket az adatok jellemzőinek megfelelően, például a táblázatnevek megváltoztatásához és a dátumtartományok módosításához.

Ezek a lekérdezések a közönségben lévő felhasználók számát adják vissza. Ha ehelyett a közönségben szereplő felhasználói azonosítók listáját szeretné lekérdezni, távolítsa el a COUNT() funkciót, pl. COUNT(DISTINCT user_id) --> DISTINCT user_id.

Ezek a lekérdezések a Standard SQL-t használják, ezért válassza ki azt a lehetőséget, mielőtt egy lekérdezést futtat.

Jelenleg a közönségadatok csak tájékoztatásra szolgálnak, és nem végezhetők velük műveletek.

Szeretnénk megtudni, hogy ezeket a lekérdezéseket hasznosnak találja-e, és hogy vannak-e más típusú közönségek, amelyekkel kapcsolatban lekérdezést szeretne futtatni. A válaszhoz használja a Firebase-támogatás funkciókérését.

 

A cikk tartalma:

Vásárlók

  /**
 * Megszámolhatja a közönségbe tartozó vásárlókat.
 *
 * Vásárlók = olyan felhasználók, akiknél a rendszer in_app_purchase
 * vagy ecommerce_purchase eseményt naplózott.
 */
SELECT
  COUNT(DISTINCT user_id) AS purchasers_count
FROM
  -- CSERÉLJE KI A SAJÁT TÁBLÁZATA NEVÉRE:
  `SAJÁT_TÁBLÁZAT.events_*`
WHERE
  event_name IN ('in_app_purchase', 'ecommerce_purchase')
  -- CSERÉLJE KI A KÍVÁNT DÁTUMTARTOMÁNYRA:
  AND _TABLE_SUFFIX BETWEEN '20180501' AND '20240131;
  

N napja aktív felhasználók

  /**
 * Létrehozhatja az N napja aktív felhasználók közönségét.
 *
 * Aktív felhasználók = azok a felhasználók, akiknél a rendszer legalább
 * egy user_engagement eseményt naplózott az elmúlt N napban.
*/
SELECT
  COUNT(DISTINCT user_id) AS n_day_active_users_count
FROM
  -- CSERÉLJE KI A SAJÁT TÁBLÁZATA NEVÉRE:
  `SAJÁT_TÁBLÁZAT.events_*`.events_*`
WHERE
  event_name = 'user_engagement'
  -- Válassza ki az elmúlt N = 20 nap eseményeit:
  AND event_timestamp >
      UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 20 DAY))
  -- CSERÉLJE KI A KÍVÁNT DÁTUMTARTOMÁNYRA:
  AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131';
  

N napja inaktív felhasználók

  /**
 * Létrehozhatja az N napja inaktív felhasználók közönségét.
 *
 * N napja inaktív felhasználók = azok a felhasználók, akiknél az utóbbi
 * M napban a rendszer nem naplózott az elmúlt N napból származó
 * user_engagement eseményt, ahol M > N.
 */
SELECT
  COUNT(DISTINCT MDaysUsers.user_id) AS n_day_inactive_users_count
FROM
  (
    SELECT
      user_id
    FROM
      /* CSERÉLJE KI A SAJÁT TÁBLÁZATA NEVÉRE: */
      `SAJÁT_TÁBLÁZAT.events_*`
    WHERE
      event_name = 'user_engagement'
      /* Aktív volt az utóbbi M = 7 napban */
      AND event_timestamp >
          UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY))
      /* CSERÉLJE KI A KÍVÁNT DÁTUMTARTOMÁNYRA: */
      AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131'
  ) AS MDaysUsers
-- Az EXCEPT ALL parancsot a BigQuery még nem támogatja. Ideiglenesen használja a LEFT JOIN parancsot:
LEFT JOIN
  (
    SELECT
      user_id
    FROM
      /* CSERÉLJE KI A SAJÁT TÁBLÁZATA NEVÉRE: */
      `SAJÁT_TÁBLÁZAT.events_*`
    WHERE
      event_name = 'user_engagement'
      /* Aktív volt az utóbbi N = 2 napban */
      AND event_timestamp >
          UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 2 DAY))
      /* CSERÉLJE KI A KÍVÁNT DÁTUMTARTOMÁNYRA: */
      AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131'
  ) AS NDaysUsers
  ON MDaysUsers.user_id = NDaysUsers.user_id
WHERE
  NDaysUsers.user_id IS NULL;
  

Gyakran aktív felhasználók

  /**
 * Létrehozhatja a gyakran aktív felhasználók közönségét.
 *
 * Gyakran aktív felhasználók = azok a felhasználók, akiknél a rendszer
 * az utóbbi M napból N napon legalább egy user_engagement eseményt
 * naplózott, ahol M > N.
 */
SELECT
  COUNT(DISTINCT user_id) AS frequent_active_users_count
FROM
  (
    SELECT
      user_id,
      COUNT(DISTINCT event_date)
    FROM
      -- CSERÉLJE KI A SAJÁT TÁBLÁZATA NEVÉRE:
      `SAJÁT_TÁBLÁZAT.events_*`
    WHERE
      event_name = 'user_engagement'
      -- Felhasználói aktivitás az utóbbi M = 10 napon.
      AND event_timestamp >
          UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 10 DAY))
      -- CSERÉLJE KI A KÍVÁNT DÁTUMTARTOMÁNYRA.  Az optimális teljesítmény
      -- érdekében a _TABLE_SUFFIX tartománynak meg kell egyeznie a fenti INTERVAL értékkel:
      AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131'
    GROUP BY 1
    -- Legalább N = 4 napon aktív volt.
    HAVING COUNT(event_date) >= 4
  );

  

Nagyon aktív felhasználók

  /**
 * Létrehozhatja a nagyon aktív felhasználók közönségét.
 *
 * Nagyon aktív felhasználók = azok a felhasználók, akik az utóbbi
 * M napon legalább N percig aktívak voltak, ahol 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
      -- CSERÉLJE KI A SAJÁT TÁBLÁZATA NEVÉRE:
      `SAJÁT_TÁBLÁZAT.events_*` AS T
    CROSS JOIN
      T.event_params
    WHERE
      event_name = 'user_engagement'
      -- Felhasználói aktivitás az utóbbi M = 10 napon.
      AND event_timestamp >
          UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 10 DAY))
      AND event_params.key = 'engagement_time_msec'
      -- CSERÉLJE KI A KÍVÁNT DÁTUMTARTOMÁNYRA:
      AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131'
    GROUP BY 1, 2
    HAVING
      -- Legalább N = 0,1 percig aktívak voltak.
      SUM(event_params.value.int_value) > 0.1 * 60 * 1000000
  );

  

Szerzett felhasználók

  /**
 * Létrehozhatja a szerzett felhasználók közönségét.
 *
 * Szerzett felhasználók = azok a felhasználók, akik valamilyen forráson,
 * médiumon vagy kampányon keresztül érkeztek.
 */
SELECT
  COUNT(DISTINCT user_id) AS acquired_users_count
FROM
  -- CSERÉLJE KI A SAJÁT TÁBLÁZATA NEVÉRE:
  `SAJÁT_TÁBLÁZAT.events_*`
WHERE
  traffic_source.source = 'google'
  AND traffic_source.medium = 'cpc'
  AND traffic_source.name = 'VTA-Test-Android'
  -- CSERÉLJE KI A KÍVÁNT DÁTUMTARTOMÁNYRA:
  AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131';
  

Szűrt kohorszok

  /**
 * Létrehozhatja a szerzett felhasználók közönségét.
 *
 * Szerzett felhasználók = azok a felhasználók, akik valamilyen forráson,
 * médiumon vagy kampányon keresztül érkeztek.
 */
SELECT
  COUNT(DISTINCT user_id) AS acquired_users_count
FROM
  -- CSERÉLJE KI A SAJÁT TÁBLÁZATA NEVÉRE:
  `SAJÁT_TÁBLÁZAT.events_*`
WHERE
  traffic_source.source = 'google'
  AND traffic_source.medium = 'cpc'
  AND traffic_source.name = 'VTA-Test-Android'
  -- CSERÉLJE KI A KÍVÁNT DÁTUMTARTOMÁNYRA:
  AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131';
  
Hasznosnak találta?
Hogyan fejleszthetnénk?

További segítségre van szüksége?

Jelentkezzen be a további támogatási lehetőségek igénybevételéhez, hogy gyorsabban megoldhassa a problémát