Tray, Brezilya'daki perakende pazarında 20 yılı aşkın deneyime sahip bir e-ticaret İçerik Yönetim Sistemi (İYS) sağlayıcısıdır. Satıcılar, Tray's altyapısında online mağazalar işletirler. Bu altyapı, işletme lojistiğini, ödemeleri, promosyonları ve raporlamayı yönetmek için hizmetler ve entegrasyonlar da sağlar.
Tray, LWSA grubunun bir üyesi ve e-ticaret sektöründe itici bir güçtür. Tray, 2024'ün ilk çeyreğinde toplam 3 milyar ABD doları GMV elde eden 180.000'den fazla müşteri tarafından güvenilir bir çözüm olarak kabul edilmektedir.

Üçüncü taraf çerezlerine güvenme
Tray's teknik mimarisi, satıcı sitelerine üçüncü taraf işlevleri sağlamak için üçüncü taraf çerezleri (3. taraf çerezleri) kullanır. Bu işlevler özellikle satıcının mağaza yönetimi için kullandığı arka ofis yönetim panelinde kullanılır. Bu çerezler, satıcının alan adından farklı alanlarda barındırılan üçüncü taraf uygulamalarından yayınlanan içeriğin oluşturulması için gereklidir. Tray's araştırması, tarayıcıların 3. taraf çerezlerini işleme şekliyle ilgili planlanan değişikliklerin bu özelliği potansiyel olarak bozabileceğini ortaya koydu. Tray, birçok online perakendeci için kritik bir altyapı görevi gördüğünden, Chrome ve diğer tarayıcıların 3PC'leri işleme şekliyle ilgili önemli değişiklikler yapılsa bile işlerin her zamanki gibi devam edebilmesi çok önemlidir.
Bu örnek olayda, Tray's'nin olası kesintileri keşfi, olası çözümleri değerlendirmesi ve sitelerinin 3. taraf çerezlerindeki değişikliklere hazır olmasını sağlamak için uyguladığı başarılı çözüm ele alınmaktadır.
Teknik mimari
Mikro hizmetler
Tray, tüm mağaza ve arka ofis uygulamalarını tray.com.br alanında barındırır. Satıcılar, bu uygulamaları kendi özel alanlarından sunmak için CNAME kullanabilir. Bu kurulumla, alışveriş yapan kullanıcılar yalnızca satıcı.example gibi mağazanın alanını görür. Tray, özellik ve işlevler sunmak için mikro hizmet mimarisinden yararlanır. Bu yaklaşımda, her biri belirli bir işleve odaklanan bağımsız, kendi kendine yeten uygulamalar kullanılır. Bu mikro hizmetler daha sonra işlevsel özelliklerine göre kapsamlara ayrılır:
- Mağaza: Ürün görüntüleme, arama ve tema yönetimi gibi vitrin özelliklerinden sorumlu uygulamaları kapsar.
- Satın alma akışı: Alışveriş sepetini, ödeme sürecini ve satın alma yolculuğu sırasındaki müşteri etkileşimlerini yönetir.
- Mağaza Yönetimi: Yönetim, raporlama ve veri içe aktarma gibi görevler için arka ofis uygulamaları sağlar.
- Entegrasyonlar: Pazar yerleri arasında listeleme yapma, lojistiği yönetme ve daha fazlasını sağlamak için harici platformlarla bağlantıları kolaylaştırır.
Arka ofis uygulaması
Arka ofis, Tray'deki satıcının sanal mağazasının merkezi yönetim paneli olarak hizmet veren, Mağaza Yönetimi'ndeki temel bir uygulamadır. Satıcılar bu panel üzerinden şunları yapabilir:
- Ürünleri kaydetme
- Gönderim ve ödeme yöntemlerini yapılandırma
- Promosyon oluşturma
- Canlı yayınları yönetme
- Sipariş akışını yönetme
- Satış raporlarını izleme
Backoffice, bazılarını Tray'ın, bazılarını ise üçüncü tarafların işlettiği birçok mikro hizmeti tek bir arayüzde bir araya getirdiği için özellikle üçüncü taraf çerezlerinin işlenmesiyle ilgili değişikliklerden kaynaklanan kesintilere karşı hassastır.
Satıcı özelleştirmesi için CNAME'ler
Tray, mağazaları sorunsuz bir şekilde entegre etmek için CNAME kayıtlarını kullanır.
Satıcılar, yeni bir mağaza oluştururken isteklerini Tray's alanında (tray.com.br) barındırılan uygulamalara yönlendirmek için CNAME'ler oluşturabilir. Bu sayede, bir müşteri satıcının web sitesini (example.com
gibi) ziyaret ettiğinde CNAME kaydı, müşteriyi adres çubuğunda satıcının URL'sini korurken Tray's alanına yönlendirir. Bu sayede, içeriğin doğrudan satıcının web sitesinden sunulduğu izlenimi veren sorunsuz bir kullanıcı deneyimi sağlanır.
CNAME'leri anlama
CNAME kayıtları, telefonda arama yönlendirmeye benzer şekilde çalışır. 555-0199 numaralı telefondan bir arkadaşınızı aradığınızı ve arkadaşınızın telefonu açmadığını varsayalım. Arama, 555-0100 gibi farklı bir numaradaki sesli mesaja yönlendirilebilir. Ancak arayan olarak bu yönlendirmeden haberiniz olmaz. Telefon sizi sorunsuz bir şekilde bağlar ve sesli mesaj karşılama mesajında arkadaşınızın orijinal numarası (555-0199) gösterilmeye devam eder.
CNAME'ler web siteleri için de aynı şekilde çalışır. Bir kullanıcı satıcının web sitesini (example.com
gibi) ziyaret ettiğinde, CNAME kaydı isteğini arka planda assets.example.com
gibi farklı bir sunucuya yönlendirebilir. Ancak kullanıcı ve tarayıcı açısından bakıldığında her şey example.com
'te gerçekleşir. Adres çubuğunda satıcının URL'si gösterilir ve kullanıcı, web sitesiyle içerik doğrudan bu alandan geliyormuş gibi etkileşim kurar.
Olası kesintileri değerlendirme
Tray's 3. taraf işlemleriyle ilgili planlanan değişikliklerin analizi, arka ofis uygulamasında kesintiler olduğunu ortaya çıkardı. 3PC'ler engellendiğinde, arka uç sayfalara yerleştirilmiş iframe'ler içinde farklı alanlardan sayfalar yüklenirken sorunlar ortaya çıktı. Bu, şirketin kendi hizmetlerine ait olan dahili alanların yanı sıra API'sini kullanarak Tray ile entegre uygulamalar geliştiren harici iş ortakları için geçerliydi.
Örneğin, backoffice.merchant.example
'te tray.com.br ve diğer üçüncü taraflarca barındırılan içeriklerin yerleştirildiği bir sayfa olduğunu varsayalım.
Tarayıcılar, alan farkı nedeniyle bu yerleşik içeriği üçüncü taraf olarak değerlendirir ve olası üçüncü taraf sınırlamaları kapsamında kısıtlayabilir.
Bu kurulum birkaç soruna neden olabilir:
- Bozulan oturumlar: Engellenen üçüncü taraf çerezleri, etkilenen oturumların bozulmasına neden olabilir. Bu durum, kullanıcıların birden fazla kez oturum açmasını zorunlu kılarak kullanıcı deneyimlerini parçalara ayırır veya işlevsiz iframe'ler nedeniyle Backoffice sayfalarında başka şekilde kesintiye neden olur ya da tutarsızlıklara yol açar.
- Entegrasyon sorunları: API'sini kullanarak Tray's arka ucuyla entegre olan iş ortağı uygulamaları ve dahili hizmetler, üçüncü taraf kısıtlamaları nedeniyle benzer zorluklarla karşılaşabilir.
Aşağıdaki şekilde bu senaryo gösterilmektedir:
- Bir kullanıcı,
merchant.example
üzerinde barındırılan Backoffice uygulamasına erişir. - Yerleşik uygulamalar farklı alanlarda bulunur. Bazıları Tray'a ait
tray.com.br
alanında, bazıları ise üçüncü taraf tedarikçi firma alanlarında (third-party.example
) bulunur. - Bu alan farkı, üçüncü taraf yazılım kısıtlamalarını tetikler ve yerleşik uygulamalarda soruna neden olabilir.

Üçüncü taraf çerez bağımlılıkları ve çözümlerini analiz etme
Kritik kullanıcı yolculuklarını test etme
Tray's test ve analizi, üçüncü taraf entegrasyonlarına odaklanarak ve birçok kullanıcının üçüncü taraf çerezleri olmadan gezindiği bir geleceğe hazırlanarak web sitesi performansını ve kullanıcı deneyimini iyileştirmeyi amaçlıyordu.
Tray, müşteriler ve satıcılar için temel kullanıcı akışlarını analiz etmek üzere Özel Korumalı Alan Analiz Aracı'nı (PSAT) ve Chrome Geliştirici Araçları'nı kullandı. Bu kapsamda, sayfa yükleme işleminin iframe'lerde test edilmesi, kullanıcı oturumlarının geçerli olup olmadığının kontrol edilmesi ve üçüncü taraf uygulamalarının beklendiği gibi çalışmaya devam etmesinin sağlanması gerekiyordu. Test, tarayıcılar arası olası uyumluluk sorunlarını belirlemek için çeşitli kullanıcı rollerini, cihazları ve tarayıcıları (Chrome, Firefox ve Safari dahil) içeriyordu. Tray, çerezleri sınıflandırmak ve kullanıcı deneyimi üzerindeki etkilerini değerlendirmek için PSAT ve Chrome Geliştirici Araçları'nı kullandı.
Bu analiz, üçüncü taraf çerezlerinin sınırlı veya kullanılamayabileceği bir geleceğe uyum sağlayarak sorunsuz ve tutarlı bir kullanıcı deneyimi sunma yolunda önemli bir adımdı.
Özel Korumalı Alan çözümlerini analiz etme
Storage Access API
Storage Access API (SAA), Tray's kesintilerini giderme potansiyeline sahip ve tüm büyük tarayıcılar tarafından destekleniyor olsa da iki temel nedenden dolayı işletme için en uygun çözüm değildi:
- Yerleştirilmiş içeriğin, birden fazla sitedeki aynı çerezlere erişmek için değil, yalnızca yerleştirildiği kaynaktaki çerezlere erişmesi gerekiyordu.
- SAA ile ilişkili tarayıcı istemleri, özellikle de kullanıcıları siteler arasında izlemek için çerezler kullanılmadığından ideal değildi.
CHIPS
CHIPS, siteler arası yerleşimler için mükemmel bir kullanıcı deneyimi sunan güçlü bir çözüm sundu. Partitioned
özelliğinin uygulanması kolaydı ve Chrome'daki kullanıcılar için kullanıcı etkileşimi üzerinde belirgin bir etkisi yoktu. Tray, hizmetinde değişiklik yaparken CHIPS diğer önemli tarayıcılar tarafından desteklenmediğinden, tarayıcılar arasında tutarlı bir deneyim sunmak için sahip olduğu ve işlettiği yerleşik öğeleri üst düzey uygulamayla aynı siteye taşımayı tercih etti. Üçüncü taraf yerleşik içerikleri, Chrome'daki CHIPS'i kullanır ve diğer tarayıcılarda yeni bir pencere (birinci taraf bağlamı) açar. Ancak Tray's'ün ilk uygulanmasından bu yana Firefox, CHIPS'i yakında kullanıma sunmayı planladığını doğruladı ve Safari, Technology Preview'den başlayarak Bölünmüş özelliği için destek eklemeye başladı.
CHIPS'in zarif bir çözüm olduğunu düşünüyorduk ve birden fazla tarayıcıda benimsendiğini görmekten memnuniyet duyuyoruz. CHIPS çözümünü kullanmaya devam etmenin yanı sıra, tüm tarayıcıları CHIPS'i kullanmadan önce bile destekleyebilmek için işlemleri birinci taraf sitelerine taşımaya karar verdik.
— Takashi Tanaka, Baş Teknoloji Sorumlusu, Tray
Tarayıcı uyumluluğu, W3C ve standartlar
Chrome, standartlar topluluğunda önemli bir rol oynar. W3C çalışma gruplarına ve PrivacyCG gibi topluluk gruplarına aktif katılım, daha geniş tarayıcı ekosisteminin yeni web teknolojilerini benimsemesi için çok önemlidir.
Özel Korumalı Alan, sektörden gelen geri bildirimlere ve etkileşime göre CHIPS gibi API'leri sürekli olarak geliştirmek için web ekosistemiyle birlikte çalışır. Bu şeffaf ve standart odaklı yaklaşım, CHIPS'in diğer büyük tarayıcılarda benimsenmesini sağlamada etkili oldu.
Üçüncü taraf çerez bağımlılıkları için kalıcı çözümler
Tray, satıcıları ve müşterilerini tüm cihaz ve tarayıcı türlerinde destekler. Yalnızca CHIPS tabanlı bir yaklaşım tercih edilse de o sırada CHIPS'i desteklemeyen diğer tarayıcıları desteklemek için ek değişiklikler de yapıldı.
3. taraf çerezleri kullanılamadığında yaşanan kesintileri gidermek için Tray's yaklaşımı iki temel stratejiden oluşuyordu.
1. Dahili uygulamalar
Canlı Mağaza, Dropshipping ve Fatura Düzenleyen dahil olmak üzere tam işlevli Tray mikro hizmetler, yerleşik içeriğin kaynağının satıcı tarafından ayarlanan CNAME'yi devralacağı şekilde güncellendi. Basitçe söylemek gerekirse, yerleştirilmiş içerik, yerleştirildiği sayfayla birlikte birinci taraf olacak şekilde güncellendi. Böylece, üçüncü taraf çerez değişiklikleri nedeniyle herhangi bir kesinti yaşanmadı.
2. Üçüncü taraf uygulamaları
Backoffice üzerinden erişilen üçüncü taraf uygulamaları için Tray daha dinamik bir yaklaşım uyguladı. İşleyiş şekli:
- Bölümlere ayrılmış özellik uygulaması:
Partitioned
çerez özelliğinin uygulanması, güvenilir tedarikçiler için sürdürüldü. Bu sayede üçüncü taraf uygulamaları, CHIPS'i destekleyen tarayıcılarda çerezleri etkili bir şekilde ayarlayabilir. - Üçüncü taraf çerezleri engellendiğinde: Kullanıcının tarayıcısı 3PC'leri engelliyorsa üçüncü taraf uygulaması yeni (birinci taraf) bir pencerede açılır. Bu, açma sorunlarını önler ve 3 PC kısıtlamaları olsa bile çalışmaya devam edilmesini sağlar.
- Üçüncü taraf çerezlerine izin verildiğinde: Kullanıcının tarayıcısı 3PC'lere izin veriyorsa uygulama, önceki gibi iframe'lerde açılmaya devam eder.
Çözümü görselleştirme
Aşağıdaki şekilde çözüm gösterilmektedir. Mağazanın ana alanını (merchant.example
) devralarak tüm yerleşik uygulamalar aynı kaynaktan geliyormuş gibi görünür. Bu sayede tüm widget'lar birbirine birinci taraf olur. Yani üçüncü taraf kısıtlamaları dikkate alınmaz. Bu çerçevelerin tümü birbirine birinci taraf olduğu için gizlilik ilkeleri diğer birinci taraf çerezlerininkine benzer: Bu çerezlere yalnızca birinci taraf bağlamında erişilebilir ve siteler arası izleme olasılığı sınırlandırılır.
Tray'ye ait olmayan üçüncü taraf hizmetleri, CHIPS çerezlerini ayarlamak için Partitioned
özelliğini kullanır. Bu, bu çerezlere yalnızca ayarlandıkları bağlamda erişilebileceği ve siteler arası izleme potansiyelinin sınırlı olduğu anlamına gelir.

Özetlemek gerekirse
- Web'de gizlilik için herkese uygun tek bir çözüm yoktur. Gizliliği korurken sorunsuz kullanıcı deneyimleri elde etmenin birçok yolu vardır.
- Kaynakları aynı üst düzey alanda birleştirmek, çerezlerin üçüncü taraf çerez kısıtlamaları olsa bile çalışmasını sağlar.
- CHIPS, tüm kaynakları aynı üst düzey siteye taşımaktan daha kolay bir çözüm olabilir.
- Tray's çözümü uzun ömürlüdür ve tarayıcılarda çalışır. Diğer tarayıcılar CHIPS desteğini uyguladıkça Tray's gibi senaryolar için güvenilir bir tarayıcılar arası çözüm olarak değerlendirilebilir.