Wybierz adres URL na podstawie danych zebranych w Shared Storage i renderuj zawartość w odizolowanym ramce.
Za pomocą interfejsu Shared Storage API możesz wybrać adres URL, który ma zostać wyrenderowany w ramce odizolowanej za pomocą danych z wielu witryn. Użyj JavaScriptu do odczytania i zapisania danych w wielu witrynach, a potem wybierz adres URL z podanej listy na podstawie zapisanych danych. Możesz renderować ten adres URL w ramce ograniczonej.
Wybór adresu URL może obejmować dowolne treści: reklamy, artykuły, obrazy, kod HTML, wezwania do działania (np. przyciski) i inne.
Załóżmy, że prowadzisz stronę o podróżach i prowadzisz kampanię reklamową z 3 różnymi kreacjami reklamowymi. Chcesz ustawić sekwencję tych kreacji na podstawie interakcji użytkownika (obejrzenie lub kliknięcie).
Gdy użytkownik po raz pierwszy zobaczy zwycięski blok reklamowy, możesz zapisać w Shared Storage jego identyfikator i stan kliknięć. Oznacza to, że gdy wygrasz aukcję reklamy na innych stronach, które odwiedza ten użytkownik, możesz wyświetlić inną reklamę na podstawie tych danych.
Twój kod JavaScript jest uruchamiany w worklecie, aby pobierać te informacje, ale nie może wchodzić w interakcje z elementami zewnętrznymi ani komunikować się z nimi poza iframe lub ogrodzoną ramką na stronie nadrzędnej.
Weźmy inny przykład. Załóżmy, że chcesz sprawdzić, który artykuł będzie lepiej się wyświetlał w ramach wbudowanego kontekstu. Gdy użytkownik pojawi się w Twojej witrynie, możesz przypisać go do grupy eksperymentalnej, a potem zapisać identyfikator grupy w Shared Storage, aby można było uzyskać do niej dostęp w różnych witrynach. W innej witrynie Twoja ramka ograniczona może wybrać adres URL na podstawie grupy eksperymentalnej tego użytkownika, która jest przechowywana w Shared Storage.
Udostępniona pamięć pozwala podejmować świadome decyzje na podstawie danych z różnych witryn bez udostępniania informacji o użytkownikach (takich jak historia przeglądarki lub inne dane osobowe) witrynie, w której znajduje się element, ani wyprowadzania danych na własne serwery.
Przypadki użycia
Wybór adresu URL z Shared Storage obsługuje takie zastosowania jak:
- Rotowanie kreacji reklamowych: możesz przechowywać dane, takie jak identyfikator kreacji i interakcje użytkowników, aby określić, które kreacje wyświetlają użytkownicy w różnych witrynach.
- Częstotliwość. Liczba wyświetleń w przeglądarce może być przechowywana w miejscu wspólnym i używana do określania, która kreacja ma być wyświetlana użytkownikowi.
- Przeprowadzanie testów A/B: przypisz użytkownika do grupy eksperymentalnej, a potem zapisz identyfikator tej grupy w usługach pamięci współdzielonej, aby można było uzyskać do niej dostęp w różnych witrynach.
- Dostosowywanie interfejsu użytkownika: udostępniaj treści i wezwania do działania na podstawie stanu rejestracji użytkownika lub innych stanów weryfikacji.
Budżety
Aby zmniejszyć ryzyko wycieku danych między witrynami, interfejs Select URL API korzysta z systemu budżetowania, który łączy budżety długo- i krótkoterminowe:
- Budżet długoterminowy: 12 bitów na stronę dzwoniącego na dzień, gdy używasz
selectURL()
. Ten budżet jest obciążany tylko wtedy, gdy ramka zawierająca wybrany adres URL wykonuje nawigację na najwyższym poziomie, a koszt jest obliczany według wzorulog2(number of URLs)
. Jeśli więc podasz 8 adresów URL, z których można wybierać, koszt wyniesie 3 bity. Pozostały budżet na dany dzień jest obliczany jako12 - (sum of bits deducted in the last 24 hours)
. Jeśli nie ma wystarczającego budżetu, zwracany jest domyślny adres URL (pierwszy na liście), a jeśli użytkownik przechodzi do tego adresu, rejestrowany jest 1 bit. Budżety krótkoterminowe: dodatkowe limity na podstawie wczytania strony. Istnieje limit 6 bitów na stronę wywołania na wczytanie strony, który ogranicza ilość informacji, które może wyciec z pojedynczej strony wywołania za pomocą
selectURL()
. Dostępny jest też budżet 12 bitów na wczytanie strony, który jest łącznym limitem dla wszystkich wywołujących witryn na stronie.Zapisane zapytania umożliwiają ponowne wykorzystanie poprzedniego wyniku
selectURL()
na tej samej stronie, co pozwala ograniczyć krótkoterminowe wykorzystanie budżetu. Gdy funkcjaselectURL()
zostanie wywołana po raz pierwszy z zapisaną nazwą zapytania, uzyskany indeks będzie przechowywany przez cały czas istnienia strony. Gdy wywołasz funkcjęselectURL()
z tym samym zapisanym zapytaniem w przypadku kolejnych wywołań, zwracany jest zapisany indeks, a zarejestrowana operacja nie jest wykonywana. W takim przypadku budżet zostanie obciążony tylko podczas pierwszego użycia, ale nie podczas ponownego użycia w ramach tego samego wczytania strony, ponieważ nie ujawnia on żadnych nowych informacji.Zapisane zapytania można zaimplementować, dodając do obiektu options właściwość
savedQuery
z wybraną nazwą zapytania, jak w tym przykładzie.
.const topProductUrls = [ { url: 'https://ad.example/default-top-product.html' }, { url: 'https://ad.example/experiment-top-product.html' }]; const relatedProductUrls = [ { url: 'https://ad.example/default-related-product.html' }, { url: 'https://ad.example/experiment-related-product.html' }]; // This is the first call to `selectURL()` with `savedQuery: 'control_or_experiment'` // on this page, so it will be charged to both per-page budgets. const topProductsConfig = await sharedStorage.selectURL( 'productExperiment', topProductUrls, { savedQuery: 'control_or_experiment', keepAlive: true, resolveToConfig: true }); document.getElementById('topProductsFencedFrame').config = topProductsConfig; // This next call with this savedQuery won't charge either of the per-page budgets. const relatedProductConfig = await sharedStorage.selectURL( 'productExperiment', relatedProductUrls, { savedQuery: 'control_or_experiment', resolveToConfig: true }); document.getElementById("relatedProductFencedFrame").config = relatedProductConfig;
Wypróbuj wybór adresu URL
Wybór adresu URL za pomocą interfejsu API Shared Storage jest dostępny do testowania w Chrome Canary/Dev/Beta M105 i nowszych wersjach. Aby przetestować wybór adresu URL, włącz wszystkie interfejsy API dotyczące prywatności reklam w sekcji chrome://settings/adPrivacy
.
Eksperymentowanie z wersją demonstracyjną
Demo jest dostępne, a kod możesz sprawdzić na GitHub.
Ten pokaz został przygotowany z perspektywy reklamodawcy, firmy technologicznej, dystrybutora treści lub innej usługi zewnętrznej, która chce przechowywać informacje w różnych witrynach wydawców. W tym pokazie w przypadku każdego przypadku użycia ten sam kod zewnętrzny jest uruchamiany w witrynach zarówno wydawcy A, jak i wydawcy B. Otwórz stronę każdego wydawcy, aby sprawdzić, jak dane są udostępniane w różnych witrynach.
Angażuj odbiorców i dziel się opiniami
Propozycja wspólnego miejsca na dane jest w trakcie dyskusji i może ulec zmianie w przyszłości. Jeśli wypróbujesz ten interfejs API i chcesz przekazać nam swoją opinię, chętnie poznamy jego opinię.
- GitHub: przeczytaj propozycji, dokumentu dotyczącego zasięgu, przesyłania pytań i udziału w dyskusjach.
- Ogłoszenia dotyczące interfejsu Shared Storage API: dołącz do naszej listy adresowej lub dołącz do wcześniejszych ogłoszeń.
- Pomoc dla deweloperów: zadawaj pytania i dołączaj do dyskusji na Repozytorium pomocy dla deweloperów Piaskownicy prywatności.