การใช้เทมเพลต Liquid
Liquid Templates ขยายขีดความสามารถในการปรับแต่งเนื้อหาของ Pushwoosh อย่างมีนัยสำคัญโดยการใช้ตรรกะที่ซับซ้อนนอกเหนือจากการใช้งาน Dynamic Content ทั่วไป
การปรับแต่งข้อความใน Pushwoosh นั้นขึ้นอยู่กับ Tags (ข้อมูลผู้ใช้) Pushwoosh มี default Tags และ custom Tags ที่หลากหลาย ด้วยการใช้ Tags เหล่านี้ คุณสามารถระบุชื่อ, เมือง, ประวัติการซื้อของผู้ใช้ ฯลฯ เพื่อส่งข้อความที่เป็นส่วนตัวมากขึ้น ตัวอย่างเช่น: สวัสดี {First_name} ขอบคุณที่สั่งซื้อ {item}
เทมเพลต Liquid เพิ่มตรรกะให้กับเนื้อหาแบบไดนามิกมากขึ้น ตัวอย่างเช่น หาก Tag การสมัครสมาชิกของผู้ใช้มีคำว่า “free” คุณสามารถส่งข้อความถึงพวกเขาว่า: “รับส่วนลด 10% ของคุณ”
การปรับเปลี่ยนเนื้อหาข้อความตาม ID, พฤติกรรม และความชอบของผู้ใช้เป็นวิธีที่มีประสิทธิภาพที่สุดในการเพิ่มความเกี่ยวข้องและได้รับผลลัพธ์ที่น่าประทับใจยิ่งขึ้นจากแคมเปญการตลาดของคุณ
ไวยากรณ์
Anchor link toเทมเพลตเนื้อหาที่ใช้ Liquid by Shopify ใช้การผสมผสานระหว่าง tags, objects, และ filters เพื่อโหลดเนื้อหาแบบไดนามิก เทมเพลตเนื้อหาช่วยให้คุณสามารถเข้าถึงตัวแปรบางอย่างจากภายในเทมเพลตและแสดงผลข้อมูลของตัวแปรเหล่านั้นได้โดยไม่ต้องรู้อะไรเกี่ยวกับข้อมูลนั้นเลย
Objects
Anchor link toobjects กำหนดเนื้อหาที่จะแสดงให้ผู้ใช้เห็น objects ควรอยู่ในวงเล็บปีกกาสองชั้น: {{ }}
ตัวอย่างเช่น เมื่อปรับแต่งข้อความ ให้ส่ง {{Name}} ในเนื้อหาของข้อความเพื่อเพิ่มชื่อผู้ใช้ลงในเนื้อหาของข้อความ ชื่อของผู้ใช้ (ค่าของ Name tag) จะแทนที่ object ของ Liquid ในข้อความที่ผู้ใช้จะเห็น
สวัสดี {{Name}}! เราดีใจที่คุณกลับมา!สวัสดีแอนนา! เราดีใจที่คุณกลับมา!
Tags
Anchor link totags สร้างตรรกะและควบคุมการทำงานของเทมเพลต ตัวคั่นวงเล็บปีกกาและเครื่องหมายเปอร์เซ็นต์ {% และ %} และข้อความที่อยู่ภายในจะไม่สร้างผลลัพธ์ที่มองเห็นได้เมื่อเทมเพลตถูกแสดงผล ซึ่งช่วยให้คุณสามารถกำหนดตัวแปรและสร้างเงื่อนไขหรือลูปได้โดยไม่ต้องแสดงตรรกะของ Liquid ให้ผู้ใช้เห็น
ตัวอย่างเช่น การใช้ if tag คุณสามารถเปลี่ยนภาษาของข้อความตามภาษาที่ตั้งค่าไว้ในอุปกรณ์ของผู้ใช้:
{% if Language == 'fr' %}Salut!{% else %}Hello!{% endif %}Salut!
Hello!
ตัวดำเนินการของ Tags
Anchor link to| ตัวดำเนินการ | คำอธิบาย |
|---|---|
== | เท่ากับ |
!= | ไม่เท่ากับ |
> | มากกว่า |
< | น้อยกว่า |
>= | มากกว่าหรือเท่ากับ |
<= | น้อยกว่าหรือเท่ากับ |
or | หรือ (logical or) |
and | และ (logical and) |
contains | ตรวจสอบว่ามีสตริงย่อยอยู่ภายในสตริงหรืออาร์เรย์ของสตริงหรือไม่ |
Filters
Anchor link tofilters ปรับเปลี่ยนผลลัพธ์ของ object หรือตัวแปรของ Liquid โดยจะใช้ภายในวงเล็บปีกกาสองชั้น {{ }} และการกำหนดค่าตัวแปร และจะถูกคั่นด้วยเครื่องหมายไปป์ | สามารถใช้ filter หลายตัวกับผลลัพธ์เดียวได้ และจะถูกนำไปใช้จากซ้ายไปขวา
{{ Name | capitalize | prepend:"Hello " }}Hello Anna
การใช้ Liquid Templates ในข้อความที่ส่งผ่าน API
Anchor link toใช้ไวยากรณ์ของ Liquid ในคำขอ createMessage ของคุณเพื่อใช้งาน Liquid Templates เทมเพลตสามารถใช้ได้กับพารามิเตอร์ “content” ของคำขอ createMessage รวมถึงพารามิเตอร์อื่นๆ ที่รองรับ Dynamic Content โดยเฉพาะพารามิเตอร์เฉพาะแพลตฟอร์มอย่าง “title”, “subtitle” และ “image”
ด้วยการใช้เทมเพลตเนื้อหา คุณสามารถระบุข้อมูลในคำขอ API ของคุณ (โดยการส่งพารามิเตอร์ “template_bindings”) หรือรับข้อมูลจากค่า Tag ที่เก็บไว้ในอุปกรณ์ของผู้ใช้ (โดยไม่ใช้พารามิเตอร์ “template_bindings”) ด้วยวิธีนี้ คุณจะสามารถสร้างแคมเปญพุชที่อิงตามผู้ใช้ซึ่งมีเนื้อหาที่เกี่ยวข้องอย่างยิ่ง
เพื่อกำหนดตรรกะของเทมเพลตโดยใช้ Tags ที่มีช่องว่างในชื่อ ให้ใช้เทคนิคต่อไปนี้:
ตัวอย่าง
{% capture my_tag %}{{My Tag}}{% endcapture %}{% if my_tag == 'value' %}Content to send in this case{% else %}Content to send otherwise{% endif %}กรณีการใช้งาน Liquid Templates
Anchor link toที่นี่คุณจะพบกรณีการใช้งานหลายอย่างที่ Liquid Templates มีประโยชน์
พุชหลายภาษา
Anchor link toLiquid Templates ทำให้สามารถระบุได้อย่างชัดเจนว่าผู้ใช้ควรได้รับข้อความพุชในภาษาใด ดูตัวอย่างง่ายๆ ของคำขอ API และข้อความที่ได้รับขึ้นอยู่กับ template bindings ที่ใช้ในคำขอ
{% if Language == 'es' %}¡Hola!{% else %}Hello!{% endif %}{ "request": { "application": "XXXXX-XXXXX", // Pushwoosh app code "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if language == 'es' %}¡Hola!{% else %}hello!{% endif %}{% endraw %}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "language" : "es" } } ] }}ภาษาคือ ‘es’: ¡Hola!
ภาษาคือ ‘en’: Hello!
การแจ้งเตือนให้อัปเกรดการสมัครสมาชิก
Anchor link toกระตุ้นให้ลูกค้าของคุณอัปเกรดการสมัครสมาชิกตามแผนปัจจุบันของพวกเขา
{% if Subscription == 'Basic' %} อัปเกรดเป็น Silver เพื่อรับฟีเจอร์ผลิตภัณฑ์เพิ่มเติมและการสนับสนุน 24/7{% elsif Subscription == 'Silver' %} อัปเกรดเป็น Gold เพื่อรับการสนับสนุนระดับพรีเมียมและฟีเจอร์ขั้นสูง{% else %} โปรดติดต่อผู้จัดการของคุณเพื่อต่ออายุการสมัครสมาชิก{% endif %}{ "request": { "application": "XXXXX-XXXXX", // Pushwoosh app code "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if Subscription == 'Basic' %}Upgrade to Silver for getting more product features and 24/7 support.{% elsif Subscription == 'Silver' %}Upgrade to Gold for priority support and advanced features.{% else %}Please contact your manager to renew your subscription. {% endif %}{% endraw %}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "language" : "es" } } ] }}สำหรับผู้ใช้ที่มีแผนการสมัครสมาชิก Basic: อัปเกรดเป็น Silver เพื่อรับฟีเจอร์ผลิตภัณฑ์เพิ่มเติมและการสนับสนุน 24/7
สำหรับผู้ใช้ที่มีแผนการสมัครสมาชิก Silver: อัปเกรดเป็น Gold เพื่อรับการสนับสนุนระดับพรีเมียมและฟีเจอร์ขั้นสูง
สำหรับผู้ใช้ที่มีแผนอื่นๆ: โปรดติดต่อผู้จัดการของคุณเพื่อต่ออายุการสมัครสมาชิก
List tags
Anchor link toเทมเพลตเนื้อหามีประโยชน์อย่างมากในการจัดการ Tags ประเภท List
ขนาดของตัวแปร
Anchor link toหนึ่งในกรณีการใช้งานที่เป็นไปได้คือการส่งเนื้อหาที่แตกต่างกันขึ้นอยู่กับจำนวนค่าที่ Tag มีอยู่ ตัวอย่างเช่น คุณสามารถให้ส่วนลดที่แตกต่างกันแก่ลูกค้าที่มีพฤติกรรมต่างกัน สมมติว่าลูกค้ามีสินค้าบางอย่างใน WishList ของพวกเขา—กระตุ้นให้พวกเขาซื้อด้วยส่วนลดที่เหมาะสมที่สุดตามจำนวนสินค้าที่พวกเขากำลังจะซื้อ!
{% if WishList.size >= 3 %}รับส่วนลด 20% สำหรับการซื้อครั้งต่อไปของคุณ!{% elsif WishList.size == 2 %}รับส่วนลด 10% สำหรับการซื้อครั้งต่อไปของคุณ!{% else %}เฮ้ ลองดูเสื้อผ้าใหม่ๆ สิ!{% endif %}{ "request": { "application": "XXXXX-XXXXX", // Pushwoosh app code "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if WishList.size >= 3 %}Get 20% off your next purchase!{% elsif WishList.size == 2 %}Get a 10% discount on your next purchase!{% else %}Hey, take a look at new outwears!{% endif %}{% endraw %}", "template_bindings": { "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

ตัวแปรมีค่า
Anchor link toอีกกรณีหนึ่งที่คุณอาจต้องจัดการคือการจัดการกับค่าของ List Tags และส่งเนื้อหาที่เกี่ยวข้องที่สุดตามค่าที่ Tag มีอยู่
{% if WishList contains 'Skinny Low Ankle Jeans' %}รับส่วนลด 20% สำหรับสินค้าใน Wishlist ของคุณ!{% else %}เฮ้ ลองดู Skinny Low Ankle Jeans ใหม่ล่าสุดสิ!{% endif %}{ "request": { "application": "C90C0-0E786", "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if WishList contains 'Skinny Low Ankle Jeans' %}Get 20% off your next purchase!{% else %}Hey, take a look at the brand new Skinny Low Ankle Jeans!{% endif %}{% endraw %}", "template_bindings": { "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

พหูพจน์
Anchor link toด้วยการใช้เทมเพลตเนื้อหา คุณสามารถปรับเนื้อหาข้อความตามพฤติกรรมของผู้ใช้ได้ ตัวอย่างเช่น คุณสามารถแก้ไขข้อความให้มีคำในรูปพหูพจน์ในกรณีที่ List Tag มีค่ามากกว่าหนึ่งค่า
รับส่วนลด 20% สำหรับสินค้า{% if WishList.size > 1 %} หลายชิ้นใน WishList ของคุณ!{% else %} ใน Wishlist ของคุณ!{% endif %}{ "request": { "application": "C90C0-0E786", "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "Get 20% off item{% raw %}{% if WishList.size > 1 %}s in your WishList!{% else %} in your Wishlist!{% endif %}{% endraw %}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

เขตเวลา
Anchor link toเทมเพลตสำหรับเขตเวลาจะแปลงวันที่และเวลาตามเขตเวลาที่ระบุ
{{ MyDate | timezone: MyTimezone | date: \"%Y-%m-%d %H:%M\" }}{ "request" : { "auth" : "3H9bk8w3.....Acge2RbupTB", // API access token from Pushwoosh Control Panel "application" : "XXXXX-XXXXX", // Pushwoosh app code "notifications" : [ // push message parameters { "content": "Current Date: {{ MyDate | timezone: MyTimezone | date: \"%Y-%m-%d %H:%M\" }}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "MyDate" : "2019-07-23 15:00", "MyTimezone" : "Asia/Dubai" } } ] }}
Connected content
Anchor link toConnected content เป็นฟีเจอร์ในเทมเพลต Liquid ที่ช่วยให้คุณสามารถดึงและใช้ข้อมูลจากแหล่งข้อมูลภายนอก เช่น เว็บเซอร์วิส ได้โดยตรงภายในข้อความอีเมลหรือ push notification ของคุณ ฟีเจอร์นี้ช่วยให้สามารถปรับแต่งเนื้อหาแบบเรียลไทม์โดยการดึงข้อมูล JSON จาก URL ที่ระบุและบันทึกลงในตัวแปรที่สามารถนำไปใช้ในเนื้อหาของคุณได้
กรณีการใช้งานหลัก
Anchor link to-
คำแนะนำผลิตภัณฑ์: แสดงรายการผลิตภัณฑ์ที่ปรับแต่งให้เหมาะกับผู้ใช้แต่ละคน
-
รหัสโปรโมชั่น: แทรกโค้ดโปรโมชั่นที่ไม่ซ้ำกันซึ่งสร้างโดยบริการแบ็กเอนด์
ข้อกำหนดเบื้องต้น
Anchor link to- ในการใช้ Connected Content คุณต้องมีบริการแบ็กเอนด์ของคุณเองที่สร้างและให้ข้อมูลที่ต้องการ (เช่น รหัสโปรโมชั่น, คำแนะนำผลิตภัณฑ์) โดยอิงจาก User ID, HWID, หรือ custom tags จากนั้น Pushwoosh จะดึงข้อมูลนี้ก่อนที่จะส่งข้อความ
คู่มือการใช้งานทีละขั้นตอน
Anchor link toขั้นตอนที่ 1. ตั้งค่าบริการแบ็กเอนด์
Anchor link toบริการแบ็กเอนด์ควร:
- ยอมรับคำขอที่มีพารามิเตอร์เฉพาะผู้ใช้ (เช่น
userId) Connected Content รองรับUserID,HWID, หรือ custom tags ใดๆ ที่คุณตั้งค่าไว้ในโปรเจกต์ของคุณ - ส่งคืนการตอบกลับเป็น JSON พร้อมข้อมูลที่ต้องการ จากนั้นเนื้อหานี้สามารถแทรกเข้าไปในข้อความแบบไดนามิกได้
ขั้นตอนที่ 2. สร้าง preset ด้วย Connected content ใน Pushwoosh
Anchor link to- ใน ตัวแก้ไขเนื้อหา Push หรือ ตัวแก้ไขเนื้อหา Email ให้แทรกไวยากรณ์ Connected Content ลงในช่องข้อความ
ตัวอย่าง
{% connected_content http://your-backend-url.com?userId={{ ${userid} }} :save result %}การแบ่งส่วนไวยากรณ์
connected_content | ดึงข้อมูล JSON จาก URL ของแบ็กเอนด์ที่ระบุ |
http://your-backend-url.com | ปลายทางของแบ็กเอนด์ที่ส่งคืนข้อมูลที่ต้องการในรูปแบบ JSON |
userId={{ ${userid} }} | พารามิเตอร์คิวรีแบบไดนามิกที่ส่ง user ID ไปยังแบ็กเอนด์ |
:save result | จัดเก็บการตอบกลับ JSON ที่ดึงมาในตัวแปร result เพื่อใช้ในเทมเพลต Liquid |

การรับรองความถูกต้อง (ทางเลือก)
หากบริการแบ็กเอนด์ของคุณต้องการการรับรองความถูกต้อง คุณสามารถรวม API key หรือ token ไว้ในคำขอ Connected Content เพื่อให้แน่ใจว่าการเข้าถึงมีความปลอดภัย
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}&auth=YOUR_API_KEY :save result %}การใช้ tags ใน Connected content
หากต้องการรวม custom tags ให้แทรกเป็นพารามิเตอร์คิวรีในคำขอ Connected Content ({{ tag_name }})
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}{{ Language }} :save result %}- จากนั้น เพิ่มข้อความของข้อความที่รวม ข้อมูลที่ดึงมา ดังนี้:
เฮ้ {{userid}} รับรหัสโปรโมชั่นส่วนตัวของคุณ - {{result.code}}
- หลังจากสรุปเนื้อหาข้อความและกำหนดการตั้งค่า preset แล้ว ให้บันทึกเพื่อนำไปใช้ซ้ำในแคมเปญ
ขั้นตอนที่ 3. ส่งข้อความโดยใช้ preset ที่กำหนดค่าไว้
Anchor link toส่งข้อความด้วย preset นี้โดยใช้ one-time push หรือ แบบฟอร์มอีเมล หรือ customer journey