SQL: Zbuduj Agenta AI 🤖 do analizy zakupów GA4 w BigQuery

miniatura yt 1 1902 1080 scroll 2 ga4,bq 1

Analiza konwersacyjna z danymi w BigQuery jest coraz prostsza i dostępna dla każdego. Jeśli przesyłasz dane z Google Analytics do BigQuery, to już masz taką możliwość. A jeśli jeszcze tego nie robisz, to warto przygotować to połączenie już teraz. Żeby ułatwić sobie analizę, wyciągamy istotną część danych do osobnej tabeli: same zakupy plus informacje o użytkownikach (user_id, id transakcji, kupione produkty, ich wartość, pierwsza wizyta na stronie i numer sesji, w której doszło do transakcji).

Dzięki temu oprócz zwykłych danych o sprzedaży zapytasz AI również o zachowanie zakupowe użytkowników, np. czy kupują w pierwszej sesji, czy jako powracający i w której sesji jej dokonali.


Podsumowanie audio NotebookLM: posłuchaj wygenerowany podcast.


Uwaga 🚨: Ten kod zadziała tylko, jeśli masz aktywne połączenie Google Analytics 4 z BigQuery i warto też mieć skonfigurowany profil płatności w GCP.

SELECT
    PARSE_DATE('%Y%m%d', event_date) AS event_date_parsed,
    event_date,
    CONCAT(
        user_pseudo_id,
        (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id')
    ) AS session_id,
    user_pseudo_id,
    user_id,
    platform,
    device.category AS device_category,
    ecommerce.transaction_id,
    items.item_id,
    items.item_name,
    items.item_brand,
    items.item_category,
    items.item_category2,
    items.quantity,
    items.price,
    items.item_revenue,
    (items.quantity * items.price) AS calculated_revenue,
    (SELECT value.int_value FROM UNNEST(event_params)
        WHERE key = 'ga_session_number') AS ga_session_number,
    DATE(TIMESTAMP_MICROS(user_first_touch_timestamp),
         'Europe/Warsaw') AS user_first_touch_date,
    DATE_DIFF(
        PARSE_DATE('%Y%m%d', event_date),
        DATE(TIMESTAMP_MICROS(user_first_touch_timestamp), 'Europe/Warsaw'),
        DAY
    ) AS days_to_purchase

FROM 
    --poniżej zmień ścieżkę swojego zbioru danych
    `test-bk-1567a.analytics_377239886.events_*`,
    UNNEST(items) AS items

WHERE
    event_name = 'purchase'
    --użyj poniższej opcji jeśli chcesz sprawdzać dane z dnia dzisiejszego
    --and regexp_extract(_table_suffix, r'[0-9]+') = format_date('%Y%m%d', current_date())

    --użyj poniższej opcji jeśli chcesz dopisywać do tabeli dane z poprzedniego dnia
    --and regexp_extract(_table_suffix, r'[0-9]+') = format_date('%Y%m%d',date_sub(current_date(), interval 1 day))

    --użyj poniższej opcji jeśli chcesz dopisywać do tabeli dane z przedwczorajszego dnia
    --and regexp_extract(_table_suffix, r'[0-9]+') = format_date('%Y%m%d',date_sub(current_date(), interval 2 day))

    --użyj poniższej opcji jeśli chcesz nadpisywać dane w tabli do dnia wczorajszego
    --and regexp_extract(_table_suffix, r'[0-9]+') between '20240401' and format_date('%Y%m%d',date_sub(current_date(), interval 1 day))

🤖 Ważne przy budowaniu Agenta AI:

Sam SQL to dopiero połowa sukcesu. Żeby agent odpowiadał poprawnie, musisz mu dać dokładną instrukcję, czyli opis tabeli i metryk, wskazanie jak ma liczyć poszczególne wartości oraz jakich błędów ma unikać. Do pisania takich opisów (instrukcji agenta i dokumentacji metryk) sam wykorzystuję AI, np. Claude. Przyspiesza to pracę i pomaga niczego nie pominąć.

Spis treści:
00:00 Wstęp
01:10 Połączenie GA4 i BigQuery
02:26 Zbiór danych Google Analytics w BigQuery
02:58 SQL purchase i zachowanie zakupowe użytkowników
04:32 Przykładowe dane z transakcjami
06:17 Ustawianie okresu danych i harmonogram zapytania SQL
08:06 Przygotowanie Agenta AI w BigQuery
13:08 Zakończenie

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *