Ana içeriğe atla
OneSignal, mesaj içeriğini ölçekte kişiselleştirmek için çeşitli yollar sunar. Bu kılavuz, push, e-posta ve SMS için OneSignal kontrol panelinde bulunan CSV yükleme özelliği ile Dinamik İçerik’in kullanımına odaklanmaktadır. Temel faydalar:
  • Ölçekte kişiselleştirmek için bir CSV kullanın – Bir mesaj, herkes için özel deneyimler
  • Çok dilli destek – Kullanıcı başına otomatik dil değiştirme
  • Dinamik kişiselleştirme – İçerik kullanıcı özelliklerine (dil, bölge, kampanya ID) uyum sağlar
  • Ekip işbirliği – Teknik olmayan kullanıcılar CSV dosyalarında içerik düzenler
  • HTML enjeksiyonu (e-posta) – CSV hücrelerine HTML işaretlemesi ekleyerek dinamik olarak zengin e-posta içeriği oluşturun
  • Kanallar arası uyumluluk – Kanallar arasında CSV mantığını yeniden kullanın
Yaygın kullanım senaryoları:
  • Çok dilli onboarding veya pazarlama
  • Bölgeye özel promosyonlar
  • Konuma göre etkinlik duyuruları
  • Kampanyaya dayalı kişiselleştirme

CSV ile Dinamik İçerik kurulum adımları

Hızlı referans:
  1. İçerik varyasyonlarınızla bir CSV dosyası oluşturun.
  2. Liquid sözdizimindeki dynamic_content özelliğini kullanarak CSV verilerini mesaja eşleyin.
  3. OneSignal kontrol panelinden yeni bir mesaj veya şablon oluşturun.
  4. Dinamik İçerik veya Kişiselleştirme düğmesini seçin.
  5. CSV dosyasını yükleyin ve mesajı gönderin.

CSV gereksinimleri ve kurulum

  • Dosya boyutu: 200 KB’nin altında
  • Sütun başlıkları:
    • Etiket anahtarı için ilk sütun başlığını ayırın veya bölümlere referans vermek için boş bırakın
    • Yalnızca alfanümerik karakterler ve alt çizgiler
    • Boşluk yerine alt çizgi (_) kullanın
  • Kodlama: UTF-8
Boş bir CSV ile başlayın veya sağlanan bir şablon kullanın. Mesaj ve şablon editörlerinde Dinamik İçerik veya Kişiselleştirme düğmesini seçtiğinizde şablonlar sağlanır.
OneSignal mesaj editöründeki Dinamik İçerik düğmesi
Mevcut şablonlar:
  • Çok dilli – İçeriği dile göre yerelleştirin
  • İçerik kişiselleştirme – İçeriği Data Tag’lere göre özelleştirin
Çok dilli ve içerik kişiselleştirme şablonlarını gösteren CSV şablon seçenekleri

Örnek CSV’ler

Bu kılavuz aşağıdaki örnek CSV verilerini kullanacaktır.
  • Sütun başlıklarını desteklenen dil kodlarınıza eşleyin.
  • Her dil kodu için her satıra çevirilerinizi ekleyin.
  • Birden fazla bölümünüz varsa (bir e-postada olduğu gibi), ilk sütunu bölüm adı olarak belirleyin.
Bu örnek şunları içerir:
  • 3 dil: İngilizce, İspanyolca ve Fransızca.
  • 2 bölüm: “section_1” ve “section_2”.
Dil kodlarını sütun başlığı, çevrilmiş içeriği satır olarak kullanan çok dilli CSV

CSV verilerini mesaj içeriğine eşleme

Liquid sözdizimi kullanarak, dynamic_content özelliğini kullanarak mesajınızdaki CSV verilerine referans verin:
<!-- Seçenek 1: önce bileşene göre erişim -->
{{dynamic_content.file_name.message_component[user_property]}}

<!-- Seçenek 2: önce kullanıcı özelliğine göre erişim -->
{{dynamic_content.file_name[user_property].message_component}}
Parametreler:
  • dynamic_content – CSV verilerine referans vermek için kullanılan özellik adı
  • file_name – CSV dosya adı (.csv uzantısı olmadan)
  • message_component – Kişiselleştirmek istediğiniz belirli mesaj bileşeni. Bu, CSV sütun başlığındaki veya ilk satırdaki statik metindir.
  • user_property – Referans vermek istediğiniz kullanıcı özelliği.
Yedek içerik: CSV araması veya Dinamik İçerik başarısız olursa mesajların oluşturulmasını sağlamak için her zaman sabit kodlanmış default dize yedeklerini kullanın.
Yedek için Liquid sözdizimi
{{ dynamic_content.my_template.header[user.language] | default: "En son güncellememize hoş geldiniz" }}
Bu, CSV araması veya Dinamik İçerik başarısız olursa mesajın yedek metni "En son güncellememize hoş geldiniz" oluşturacağı anlamına gelir. Bu şunları garanti eder:
  • Mevcut olduğunda Dinamik İçerik kullanılır
  • Dinamik İçerik başarısız olursa sabit kodlanmış bir mesaj görünür
  • Kullanıcılar asla boş içerik almaz
translations.csv
,en,es,fr
section_1,Hello,Hola,Bonjour
section_2,Thanks for shopping with us...,Gracias por comprar con nosotros...,Merci pour votre achat avec nous...
  • file_name translations.csv’dir.
  • message_component ilk sütunun satırlarında section_1 ve section_2’dedir.
  • user_property dil koduyla eşleşen sütun başlığıdır. Bunu kullanıcı üzerinde user.language özelliği ile referans verebiliriz.
Çok dilli mesaj için temel Liquid sözdizimi
{{dynamic_content.translations.section_1[user.language]}}
{{dynamic_content.translations.section_2[user.language]}}
(Önerilen) Varsayılan yedekli çok dilli mesaj için Liquid sözdizimi
{% assign supported_langs = "en,es,fr,de" | split: "," %}
{% assign lang = user.language | default: "en" %}

{% unless supported_langs contains lang %}
  {% assign lang = "en" %}
{% endunless %}

{{ dynamic_content.translations.section_1[lang] | default: "Hello" }}
{{ dynamic_content.translations.section_2[lang] | default: "Thanks for shopping with us..." }}
Çok dilli Dinamik İçerik için Liquid sözdizimini içeren OneSignal e-posta editörü
Konu satırlarını, ön başlıkları, düğme etiketlerini ve URL’leri güncellemek için default yedekli Liquid kullanın.

CSV hücrelerinde HTML kullanma (yalnızca e-posta)

E-postalara zengin içerik eklemek için CSV hücrelerine doğrudan HTML işaretlemesi ekleyebilirsiniz. Bu, kullanıcı özelliklerine göre bir e-postanın tüm bölümlerini — banner’lar, CTA’lar veya stillendirilmiş bloklar gibi — değiştirmek için kullanışlıdır.
promo_banners.csv
campaign_id,banner_html
spring_sale,<div style="background:#4CAF50;padding:16px;text-align:center;"><a href="https://example.com/spring" style="color:#fff;font-size:18px;">Shop the Spring Sale</a></div>
default,<div style="background:#333;padding:16px;text-align:center;"><a href="https://example.com" style="color:#fff;font-size:18px;">See What's New</a></div>
E-posta şablonunuzda HTML hücresine referans verin:
{{ dynamic_content.promo_banners[campaign_id].banner_html | default: "<p>Check out our latest offers</p>" }}
HTML doğrudan e-posta gövdesinde görüntülenir, bu nedenle e-posta istemcilerinin desteklediği herhangi bir satır içi stil ve işaretleme kullanabilirsiniz.
CSV hücrelerindeki HTML yalnızca e-postada desteklenir. Push ve SMS kanalları içeriği düz metin olarak görüntüler ve HTML işaretlemesini yorumlamaz.

Referans

Şablonları güncelleme

Kontrol paneli üzerinden CSV’leri yeniden yükleyin veya Şablon Güncelleme API’sinin dynamic_content özelliğini kullanın.

Anahtarlardaki özel karakterler

Hash notasyonu (alfanümerik olmayan anahtarlar için):
{{ dynamic_content.file_name["!the_row!"]["&the_column&"] }}
Nokta notasyonu (standart anahtarlar için):
{{ dynamic_content.file_name.the_row.the_column }}

SSS

CSV ile Dinamik İçerik’i nasıl test edebilirim?

Mesajın birden fazla varyasyonunu test etmek için e-posta kullanın.
  • Birden fazla varyasyonu test etmek için e-postalarda + adresleme kullanın: username+test@example.com.
  • Yukarıdaki çok dilli ve içerik kişiselleştirme örneklerini takip ederek etiketleri ayarlayın.
  • Birden fazla kullanıcı ve data tag’i yükleme hakkında daha fazla bilgi için İçe Aktarma’ya bakın.

CSV ile Dinamik İçerik ile diğer kişiselleştirme seçeneklerini ne zaman kullanmalıyım?

Kontrol panelinden mesaj gönderiyorsanız ve bir CSV dosyasında kullanıcı verileriniz varsa CSV ile Dinamik İçerik kullanın. Mesajlara dinamik içerik eklemenin diğer yolları için Mesaj Kişiselleştirme veya Çok Dilli Mesajlaşma’ya bakın.

İlgili sayfalar

Mesaj Kişiselleştirme

OneSignal’da mevcut tüm kişiselleştirme seçeneklerine genel bakış.

Liquid Sözdizimi Kullanma

OneSignal mesajları için tam Liquid sözdizimi referansı.

İçe Aktarma

Kullanıcı verileri ve segmentleri OneSignal’a yükleme.

Şablonlar

Yeniden kullanılabilir mesaj şablonları oluşturma.