Το reporting του GA4 δεν σου φτάνει; Δείχνουμε βήμα-βήμα πώς συνδέουμε το GA4 με το BigQuery για να χτίσουμε custom e-commerce dashboards στο Looker Studio που βγάζουν νόημα.
Έχουμε χάσει το μέτρημα πόσες φορές έχουμε ακούσει από πελάτες την ίδια ερώτηση: «Πώς θα δω στο GA4 το Χ;». Η απάντηση είναι σχεδόν πάντα η ίδια: το UI του GA4 δεν φτιάχτηκε για βαθιά ανάλυση. Για να βγάλεις πραγματικά συμπεράσματα, ειδικά στο e-commerce, πρέπει να έχεις πρόσβαση στην πρώτη ύλη των δεδομένων σου. Και αυτή η πρώτη ύλη βρίσκεται στο BigQuery.
Γιατί να φύγεις από το GA4 UI;
Το βασικό interface του Google Analytics 4 είναι καλό για μια γρήγορη, επιφανειακή ματιά στα KPIs σου. Όταν όμως θες να κάνεις σοβαρή δουλειά, σκοντάφτεις συνέχεια πάνω στους περιορισμούς του. Μιλάμε για συγκεκριμένα προβλήματα που βλέπουμε καθημερινά:
- Sampling: Μόλις το report σου γίνει λίγο πιο σύνθετο, το GA4 αρχίζει το sampling. Αυτόματα, τα νούμερα που βλέπεις δεν είναι ακριβή, αλλά εκτιμήσεις. Για αποφάσεις που κοστίζουν, οι εκτιμήσεις δεν αρκούν.
- Data Retention: Στη δωρεάν έκδοση, έχεις πρόσβαση σε raw event data μόνο για τους τελευταίους 14 μήνες. Θες να κάνεις Year-over-Year ανάλυση; Καλή τύχη.
- Inflexibility: Θες να φτιάξεις ένα funnel που δεν είναι προκαθορισμένο; Να υπολογίσεις ένα custom metric που συνδυάζει πολλαπλά events; Να ενώσεις τα GA4 data με δεδομένα από το CRM σου ή τα κόστη από άλλες πλατφόρμες; Στο GA4 UI, απλά δεν γίνεται.
Το GA4 UI είναι σαν ένα demo. Σου δείχνει τι μπορείς περίπου να κάνεις με τα δεδομένα σου. Για τη σοβαρή δουλειά, χρειαζόμαστε την πρώτη ύλη. Και αυτή είναι τα raw data στο BigQuery.
Η λύση είναι να στέλνεις τα δεδομένα σου στο BigQuery, την data warehouse πλατφόρμα της Google. Εκεί, τα δεδομένα είναι δικά μας, για πάντα, χωρίς sampling, και μπορούμε να τα επεξεργαστούμε όπως ακριβώς θέλουμε.

Το setup: Συνδέοντας το GA4 με το BigQuery
Η διαδικασία είναι πιο απλή από ό,τι φαντάζεσαι, αλλά απαιτεί ένα Google Cloud Project με ενεργοποιημένο το billing. Μην τρομάζεις, η καθημερινή εξαγωγή των GA4 events (daily export) είναι δωρεάν και το κόστος αποθήκευσης είναι αμελητέο για τα περισσότερα e-shops.
Να τα βήματα που ακολουθούμε:
- Μέσα από το GA4 property σου, πήγαινε στο Admin > Product Links > BigQuery Links.
- Πάτα το μπλε κουμπί "Link". Θα σου ζητηθεί να επιλέξεις ένα BigQuery project. Αν δεν έχεις, θα σε καθοδηγήσει να δημιουργήσεις ένα.
- Στη συνέχεια, κάνουμε τις ρυθμίσεις του export. Επιλέγουμε την τοποθεσία των δεδομένων σου (π.χ.
europe-west1). - Επιλέγουμε ποια data streams θέλεις να εξάγεις (συνήθως το Web stream).
- Στο Frequency, επιλέγουμε Daily. Η επιλογή Streaming έχει κόστος και είναι για πιο advanced real-time ανάγκες. Για το 99% των e-commerce dashboards, το Daily είναι υπεραρκετό.
Αυτό ήταν! Από την επόμενη μέρα, το Google Analytics θα αρχίσει να στέλλει τα raw data σου στο BigQuery. Θα δημιουργηθεί ένα dataset με το όνομα analytics_<property_id> και μέσα θα βλέπεις καθημερινά έναν νέο πίνακα με το όνομα events_YYYYMMDD.

Γράφοντας το SQL query: Η «μαγεία» του UNNEST
Ανοίγοντας έναν από αυτούς τους πίνακες στο BigQuery, το πρώτο σοκ είναι η δομή. Τα δεδομένα δεν είναι σε μια απλή, επίπεδη μορφή. Πολλές πληροφορίες, όπως τα parameters κάθε event, βρίσκονται μέσα σε nested πεδία. Για να τα αξιοποιήσεις, πρέπει να χρησιμοποιήσεις τη συνάρτηση UNNEST().
Αυτό είναι το σημείο που οι περισσότεροι τα παρατάνε. Στην πράξη, όμως, με ένα σωστό SQL query, μεταμορφώνουμε αυτό το χάος σε έναν καθαρό, δομημένο πίνακα, έτοιμο για το Looker Studio.
Ας δούμε ένα παράδειγμα. Θέλουμε να φτιάξουμε μια αναφορά που θα δείχνει για κάθε μέρα τις πωλήσεις (purchases), το συνολικό revenue και τα add to cart events. Ένα βασικό query που χρησιμοποιούμε ως αφετηρία μοιάζει κάπως έτσι:
SELECT
event_date,
COUNT(DISTINCT transaction_id) AS transactions,
SUM(purchase_revenue) AS total_revenue,
COUNT(DISTINCT add_to_cart_id) AS add_to_carts
FROM (
SELECT
event_date,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'transaction_id') AS transaction_id,
(SELECT value.double_value FROM UNNEST(event_params) WHERE key = 'value') AS purchase_revenue,
-- We create a unique ID for each add_to_cart event to count them
CASE WHEN event_name = 'add_to_cart' THEN CONCAT(user_pseudo_id, CAST(event_timestamp AS STRING)) ELSE NULL END AS add_to_cart_id
FROM
`your_project.analytics_123456789.events_*` -- Άλλαξε το με το δικό σου project & property ID
WHERE
_TABLE_SUFFIX BETWEEN '20230101' AND '20231231' -- Όρισε το εύρος ημερομηνιών
AND event_name IN ('purchase', 'add_to_cart')
)
GROUP BY
event_date
ORDER BY
event_date ASC
Τι κάνει αυτό το query; Ανοίγει (UNNEST) το πεδίο event_params για να βρει και να τραβήξει σε ξεχωριστές στήλες το transaction_id και το value για τα purchase events, καθώς και να μετρήσει τα add_to_cart events. Το αποτέλεσμα είναι ένας απλός, καθαρός πίνακας με στήλες: event_date, transactions, total_revenue, add_to_carts. Ακριβώς αυτό που χρειαζόμαστε.


Από το BigQuery στο Looker Studio
Τώρα που έχουμε το query, το τελευταίο βήμα είναι πανεύκολο. Πάμε στο Looker Studio (πρώην Data Studio) για να στήσουμε το dashboard.
- Δημιούργησε ένα νέο, κενό report και στη συνέχεια ένα νέο data source.
- Επίλεξε τον BigQuery connector.
- Στην επόμενη οθόνη, επίλεξε CUSTOM QUERY. Επίλεξε το billing project σου.
- Στο μεγάλο πλαίσιο κειμένου, κάνε επικόλληση το SQL query που φτιάξαμε παραπάνω.
- Το Looker Studio θα ελέγξει το query και θα δημιουργήσει το data source με τα πεδία που ορίσαμε (
event_date,transactionsκτλ.).
Η χρήση custom query αντί για την απευθείας σύνδεση σε πίνακα είναι το κλειδί για γρήγορα και ευέλικτα dashboards. Το query κάνει όλη τη βαριά δουλειά της επεξεργασίας, οπότε το Looker Studio απλώς απεικονίζει έναν έτοιμο, καθαρό πίνακα.
Από εδώ και πέρα, οι δυνατότητες είναι απεριόριστες. Μπορούμε να χτίσουμε:
- Scorecards για τα βασικά σου KPIs: Revenue, Transactions, Average Order Value (
total_revenue / transactions), E-commerce Conversion Rate (transactions / sessions). - Time series charts για να βλέπεις την πορεία του revenue ή των sessions σε βάθος χρόνου.
- Ένα custom funnel με scorecards που δείχνουν Users σε κάθε βήμα:
view_item>add_to_cart>begin_checkout>purchase. Αυτό είναι κάτι που το GA4 UI απλά δεν μπορεί να σου δώσει με αξιοπιστία και ευελιξία. - Πίνακες με τα top-selling products, κάνοντας
UNNESTτοitemsarray που υπάρχει σε κάθε e-commerce event.
Το πιο σημαντικό; Αυτά τα δεδομένα είναι δικά μας. Μπορούμε να τα συνδυάσουμε (blend) με δεδομένα από Google Sheets (π.χ. μηνιαίους στόχους) ή με cost data από άλλες πλατφόρμες διαφήμισης για να υπολογίσουμε το πραγματικό σου ROAS.
Το να βασιζόμαστε αποκλειστικά στο GA4 interface για το e-commerce reporting μας είναι σαν να προσπαθούμε να οδηγήσουμε βλέποντας μόνο από τον καθρέφτη. Σου δείχνει τι έγινε, αλλά όχι το γιατί και το πώς. Η σύνδεση με το BigQuery δεν είναι απλώς ένα «nice-to-have» — είναι η θεμελιώδης κίνηση για ουσιαστικό analysis και CRO.



Γράφτηκε από τον Δημήτρη Ανδρεαδάκη