Rekomendacje produktowe pomagają Twojemu zespołowi prezentować spersonalizowane propozycje, dzięki czemu rośnie zaangażowanie kontaktów i sprzedaż online. Łącząc historyczne dane zakupowe z bieżącymi interakcjami kontaktów, Positive User przewiduje, które produkty Twoi kontakci będą chcieli zobaczyć w następnej kolejności.
Dowiedz się, jak działają modele rekomendacji produktowych, zaczynając od artykułu „Wprowadzenie do rekomendacji produktowych”.
Aby silnik rekomendacji generował trafne i skuteczne propozycje, kluczowe jest zapewnienie odpowiednich fundamentów danych.
Spójne i dokładne śledzenie zdarzeń produktowych ma fundamentalne znaczenie. Śledź historyczne zdarzenia zakupowe oraz bieżące interakcje kontaktów, aby silnik rekomendacji dysponował wystarczającą ilością danych do nauki nawyków zakupowych i rozpoznawania bieżących zainteresowań.
Zdarzenie produktowe „Purchase”: śledź dane zdarzeń zakupowych z co najmniej sześciu miesięcy, aby zbudować silne powiązania między produktami. Każde zdarzenie wysyłane do Positive User musi zawierać typ zdarzenia (purchase), identyfikator produktu (custom_id) oraz precyzyjny znacznik czasu.
Pozostałe zdarzenia produktowe: śledź w czasie rzeczywistym zdarzenia interakcji, takie jak view, add to cart oraz checkout, wraz z identyfikatorem produktu i znacznikiem czasu. Te działania zasilają dynamiczne propozycje zwracane przez endpoint /predictions/predict-for-user/.
Listę dostępnych zdarzeń produktowych znajdziesz tutaj.
Zadbaj o to, aby pozycje w katalogu miały uzupełnione standardowe atrybuty — dzięki temu rekomendacje wyświetlają kompletne informacje o produkcie.
Upewnij się, że każdy produkt zawiera następujące standardowe atrybuty:
Name: wyświetlana nazwa produktu.
Custom_id: unikalny identyfikator produktu, zgodny z ID używanym w zdarzeniach produktowych.
Image_url: bezpośredni, publicznie dostępny link do zdjęcia produktu.
Url: bezpośredni link do strony produktu w Twoim serwisie.
Price: aktualna cena produktu.
Możesz połączyć swój feed produktowy z workspace Positive User, aby mieć zawsze aktualne informacje o produktach. Więcej na ten temat znajdziesz w artykule „Wprowadzenie do feedów produktowych”.
Dodatkowe opcje synchronizacji produktów opisano tutaj.
Wybierz endpoint API w zależności od tego, czy chcesz kierować rekomendacje do konkretnych kontaktów, czy pokazywać produkty powiązane. Bazowy URL: https://<your_workspace_subdomain>.user.com/ (zastąp <your_workspace_subdomain> faktyczną subdomeną swojego workspace).
To API rekomendacji jest odrębne od standardowego REST API Positive User i nie wymaga klucza autoryzacyjnego API, co pozwala na bezpośrednie zapytania ze skryptów po stronie klienta.
/predictions/predict-for-user/: zwraca spersonalizowane rekomendacje dopasowane do konkretnego kontaktu na podstawie user_id lub userKey. Link do dokumentacji API.
/predictions/predict/: zwraca propozycje na podstawie „zalążkowych” identyfikatorów produktów (np. produktów aktualnie znajdujących się w koszyku). Używaj go jako rozwiązania awaryjnego, gdy nie można zidentyfikować kontaktu. Link do dokumentacji API.
Wyślij payload w formacie JSON z parametrami zapytania, aby dostosować zwracane produkty:
limit: (liczba) maksymalna liczba zwracanych produktów (maksymalnie 25).
user_id: (string) unikalny identyfikator klienta dla zalogowanych kontaktów z Twojego systemu, odpowiadający „custom_id” w Positive User. Używany z endpointem /predictions/predict-for-user/.
userKey: (string) identyfikator systemowy Positive User dla znanych i anonimowych kontaktów. Tworzony w cookie „__ca__chat”, gdy udzielono zgody na pliki cookie i aktywne jest śledzenie. Używany z /predictions/predict-for-user/.
segment_id: (liczba) identyfikator numeryczny segmentu produktów w Positive User (np. „All Available Products”). Zalecane, aby ograniczyć propozycje do aktywnych produktów.
categories: (tablica stringów) filtruj produkty po nazwach kategorii (np. ['Electronics', 'Laptops']).
tags: (tablica stringów) filtruj produkty po nazwach tagów (np. ['B2B products', 'Professional products']).
product_ids lub custom_ids: (tablica liczb lub stringów) tablica „zalążkowych” identyfikatorów produktów dla endpointu /predict/ (maksymalnie 15 ID na zapytanie).
extra_data: (liczba: 0 lub 1) steruje zachowaniem awaryjnym, gdy filtry zwracają mniej produktów niż limit. Ustaw na 0 (Strict Mode), aby zwracać wyłącznie produkty pasujące do wszystkich filtrów, lub na 1 (Default), aby uzupełnić pozostałe miejsca najlepszymi ogólnymi rekomendacjami.
Pomyślne zapytanie API zwraca odpowiedź w formacie JSON. Jej rdzeniem jest obiekt zawierający klucz recommended_products, który przechowuje tablicę obiektów produktów.
Każdy obiekt produktu zawiera standardowe pola, takie jak:
id: identyfikator produktu wygenerowany przez system Positive User.
name: nazwa produktu.
custom_id: Twój identyfikator produktu.
description: opis produktu.
product_url: adres URL strony produktu.
image_url: adres URL zdjęcia produktu.
created_at, updated_at: znaczniki czasu.
Ponadto każdy obiekt produktu zawiera:
tablicę attributes: zawiera listę wszystkich atrybutów produktu (standardowych i niestandardowych) zdefiniowanych w workspace Positive User dla tego produktu (np. „Price”, „Sale_price”, „Brand”, „Color” itp.). Każdy atrybut ma swoje pola „Name”, „Value” oraz „Value_type”.
tablicę categories: zawiera listę kategorii, do których produkt należy w Positive User.
Przykład:
{
"recommended_products": [
{
"id": 77,
"name": "Ripped Denim Jacket",
"custom_id": "1811",
"description": "This ripped denim jacket...",
"product_url": "https://ecommerce.demouser.eu/product/ripped-denim-jacket",
"image_url": "https://ecommerce.demouser.eu/wp-content/uploads/2018/02/6290019144_1_1_1.jpg",
// ... other standard fields ...
"attributes": [
{
"name": "price",
"name_std": "price",
"value": 79.0,
"value_type": 7
},
// ... other attributes
],
"categories": [
{
"id": 66,
"name": "Women, Jackets & Coats"
}
]
}
// ... more products
]
}Pobieranie spersonalizowanych rekomendacji dla konkretnego kontaktu: użyj endpointu /predictions/predict-for-user/ z parametrem „userKey” lub „user_id”, aby wyświetlać propozycje dopasowane do indywidualnych nawyków przeglądania.
Przykładowy payload:
{
"userKey": "user_key_value_from_ca_chat_cookie",
"limit": 5,
"segment_id": 101 // e.g., "Available Products"
"extra_data": 0 // Strict: only show items within the segment
}Pobieranie rekomendacji powiązanych z konkretnymi produktami: użyj endpointu /predictions/predict/ z parametrem „custom_ids”, aby wyświetlać produkty powiązane z tymi, które kontakt ma aktualnie w koszyku.
Przykładowy payload:
{
"custom_ids": ["SKU123", "SKU456"], // IDs of products in cart
"limit": 3,
"segment_id": 101, // e.g., "Available Products"
"extra_data": 0 // Strict: only show items within the segment
}