Üyelik Gerekli
Bu içeriğe erişmek için giriş yapmanız ve Premium aboneliğine sahip olmanız gerekmektedir.
- 01 Custom pixel sandbox Liquid metafield'i okuyamaz. Cart attribute native bridge: functional data, checkout'a persist eder, event.data.checkout.attributes üzerinden erişilebilir.
- 02 Theme.liquid
/cart/update.jsile metafield değerlerini cart attribute'a yazar. Önce okuma/karşılaştırma guard'ı gereksiz update'i önler. - 03 Pixel consent iki katmanlı: Admin Customer privacy ayarı yüklenme kapısı,
init.customerPrivacypixel içinde runtime state. - 04 Consent state snapshot'ı için
Shopify.customerPrivacyokuyup cart attribute'a köprüle. Sipariş zamanındaki izin durumu Flow condition'larında kullanılır. - 05 Underscore prefix (
_b2b,_customer_id) cart attribute'u checkout UI'da gizler. PII cart'a yazılmaz; non-sensitive flag'ler ve ID'ler uygun.
+ Shopify custom pixel içinden customer metafield'e doğrudan erişilebilir mi?
Erişilemez. Custom pixel sandbox izole JS ortamı; Liquid {{ customer.metafields... }} erişimine sahip değil. Doğru yol metafield'i theme.liquid'te okuyup cart attribute'a yazmak, pixel'in event.data.checkout.attributes üzerinden okuması.
+ Shopify staff'ın önerdiği localStorage workaround neden yetersiz?
İki kritik zayıflık: consent gate (analytics_storage denied olursa localStorage kullanımı sorunlu) ve cross-domain kopukluk (checkout domain'i farklı olunca localStorage paylaşılmaz). Cart attribute her iki sorunu da çözer; functional data kategorisinde çalışır ve Shopify altyapısında checkout'a native persist eder.
+ Cart attribute checkout UI'da görünür mü?
Underscore prefix'li attribute'lar (_b2b, _customer_id, _analytics_consent) müşteriye gösterilmez; yalnızca Shopify admin ve pixel/Flow tarafında erişilebilir. Underscore'suz key'ler checkout Additional details bölümünde görünür.
+ Pixel'in Customer privacy ayarı ile `init.customerPrivacy` arasındaki fark ne?
Ayar yüklenme kapısı: Required seçili purpose'lar (Marketing / Analytics / Preferences) için consent yoksa pixel hiç yüklenmez. init.customerPrivacy ise pixel yüklendikten sonra ziyaretçinin detaylı consent state'ini okuma katmanı: analyticsProcessingAllowed, marketingAllowed, preferencesProcessingAllowed, saleOfDataAllowed bool değerleri. Karışık amaçlı pixel'de event bazlı rotalama için kullanılır.
+ Consent state'ini neden cart'a yazmak gerekiyor?
Pixel client-side'da Shopify config-level izin enforcement'ını zaten alıyor. Fakat Flow server-side workflow'lar (GA4 Measurement Protocol, Klaviyo Track Event, Meta CAPI) sandbox dışında çalışıyor ve kendi consent gate'ini koymak zorunda. Shopify.customerPrivacy.getVisitorConsent() çıktısını cart attribute'a köprülemek sipariş zamanındaki snapshot'ı sağlıyor; Flow condition'ı order.customAttributes içinden _analytics_consent == "granted" key karşılaştırmasıyla bunu okuyor.