Na czym to polega w sklepie
Funkcja pd.json_normalize konwertuje zagnieżdżone struktury JSON na płaski DataFrame z kolumnami oddzielonymi kropką. Niezbędna przy eksporcie zdarzeń e-commerce z API, gdzie items i ecommerce siedzą głęboko w obiekcie.
Przykład ze sklepu internetowego
Masz listę surowych hitów purchase z backendu - każdy event ma zagnieżdżoną listę items z item_id i price:
import pandas as pd
raw_events = [
{
"event_name": "purchase",
"user_pseudo_id": "u_991",
"ecommerce": {"transaction_id": "ORD-42", "value": 349.90},
"items": [
{"item_id": "SKU-100", "quantity": 1, "price": 199.90},
{"item_id": "SKU-204", "quantity": 2, "price": 75.00},
],
}
]
items = pd.json_normalize(
raw_events,
record_path="items",
meta=["event_name", "user_pseudo_id", ["ecommerce", "transaction_id"]],
)
# Jedna linia = jedna pozycja koszyka z kontekstem transakcji
Co zrobić po stronie biznesu
- Spłaszczenie odpowiedzi API Shopify/WooCommerce przed analizą AOV.
- Rozwinięcie parametrów customowych z eksportu BigQuery GA4.
- Przygotowanie line-item revenue do join z katalogiem produktów.
W skrócie
Zamiast pętli po JSON-ach użyj json_normalize z record_path i meta. To najszybsza droga od surowego eventu do tabeli analitycznej.