Skip to content

Persistente Entry-Eigenschaften

Wenn ein Canvas durch ein angepasstes Event, einen Kauf oder einen API-Aufruf getriggert wird, können Sie Metadaten aus dem API-Aufruf, dem angepassten Event oder dem Kauf-Event zur Personalisierung in jedem Schritt Ihres Canvas-Workflows verwenden. Sie können diese Eigenschaften nutzen, um besser kuratierte Nachrichten zu senden.

Entry-Eigenschaften verwenden

Entry-Eigenschaften können in aktionsbasierten und API-getriggerten Canvases verwendet werden. Diese Entry-Eigenschaften werden definiert, wenn ein Canvas durch ein angepasstes Event, einen Kauf oder einen API-Aufruf getriggert wird. Weitere Informationen finden Sie in den folgenden Artikeln:

Eigenschaften, die von diesen Objekten übergeben werden, können mit dem Liquid-Tag canvas_entry_properties referenziert werden. Zum Beispiel könnte eine Anfrage mit "canvas_entry_properties": {"product_name": "shoes", "product_price": 79.99} das Wort „shoes“ zu einer Nachricht hinzufügen, indem der Liquid-Code {{canvas_entry_properties.${product_name}}} verwendet wird.

Wenn ein Canvas eine Nachricht mit dem Liquid-Tag canvas_entry_properties enthält, werden die mit diesen Eigenschaften verknüpften Werte für die Dauer der Journey einer Nutzer:in im Canvas gespeichert und gelöscht, wenn die Nutzer:in den Canvas verlässt. Beachten Sie, dass Canvas-Entry-Eigenschaften nur zur Referenzierung in Liquid verfügbar sind. Um innerhalb des Canvas nach den Eigenschaften zu filtern, verwenden Sie stattdessen die Event-Eigenschafts-Segmentierung.

Canvas aktualisieren, um Entry-Eigenschaften zu verwenden

Wenn ein aktiver Canvas, der zuvor keine Nachrichten mit canvas_entry_properties enthielt, bearbeitet wird, um canvas_entry_properties einzuschließen, ist der entsprechende Wert für diese Eigenschaft nicht für Nutzer:innen verfügbar, die den Canvas betreten haben, bevor canvas_entry_properties zum Canvas hinzugefügt wurde. Die Werte werden nur für Nutzer:innen gespeichert, die den Canvas nach der Änderung betreten.

Wenn Sie beispielsweise am 3. November einen Canvas gestartet haben, der keine Entry-Eigenschaften verwendete, und dann am 11. November eine neue Eigenschaft product_name zum Canvas hinzugefügt haben, würden Werte für product_name nur für Nutzer:innen gespeichert, die den Canvas ab dem 11. November betreten haben.

Falls eine Canvas-Entry-Eigenschaft null oder leer ist, können Sie Nachrichten mithilfe von Bedingungen abbrechen. Das folgende Code-Snippet ist ein Beispiel dafür, wie Sie Liquid verwenden können, um eine Nachricht abzubrechen.

1
2
3
{% if canvas_entry_properties.${product_name} == blank %}
{% abort_message() %}
{% endif %}

Weitere Informationen zum Abbrechen von Nachrichten mit Liquid finden Sie in unserer Liquid-Dokumentation.

Globale Canvas-Entry-Eigenschaften

Mit canvas_entry_properties können Sie globale Eigenschaften festlegen, die für alle Nutzer:innen gelten, oder nutzerspezifische Eigenschaften, die nur für die angegebene Nutzer:in gelten. Die nutzerspezifische Eigenschaft hat Vorrang vor der globalen Eigenschaft für diese Nutzer:in.

Beispielanfrage

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
curl -X POST \
-H 'Content-Type: application/json' \
-d '{
      "api_key": "a valid rest api key",
      "canvas_id": "the ID of your Canvas",
      "canvas_entry_properties": {
        "food_allergies": "none"
      },
      "recipients": [
        {
          "external_user_id": "Customer_123",
          "canvas_entry_properties": {
            "food_allergies": ["dairy", "soy"],
            "nutrition": {
              "calories_per_serving": 200,
              "serving_size_in_ounces": 4
            }
          }
        }
      ]
    }'

In dieser Anfrage ist der globale Wert für „food allergies“ „none“. Für Customer_123 ist der Wert „dairy“. Nachrichten in diesem Canvas, die das Liquid-Snippet {{canvas_entry_properties.${food_allergies}}} enthalten, werden für Customer_123 mit „dairy“ und für alle anderen mit „none“ gerendert.

Anwendungsfall

Wenn Sie einen Canvas haben, der getriggert wird, wenn eine Nutzer:in einen Artikel auf Ihrer E-Commerce-Website ansieht, ihn aber nicht in den Warenkorb legt, könnte der erste Schritt des Canvas eine Push-Benachrichtigung sein, die fragt, ob Interesse am Kauf des Artikels besteht. Sie könnten den Produktnamen referenzieren, indem Sie {{canvas_entry_properties.${product_name}}} verwenden.

Wenn eine Nutzer:in einen Artikel auf Ihrer E-Commerce-Website ansieht, ihn aber nicht in den Warenkorb legt, könnte der erste Schritt des Canvas eine Push-Benachrichtigung sein, die fragt, ob Interesse am Kauf des Artikels besteht. Sie könnten den Produktnamen mit dem Liquid-Tag „canvas_entry_properties“ referenzieren.

Der zweite Schritt könnte eine weitere Push-Benachrichtigung senden, die die Nutzer:in zum Checkout auffordert, wenn der Artikel in den Warenkorb gelegt, aber noch nicht gekauft wurde. Sie können weiterhin die Entry-Eigenschaft product_name referenzieren, indem Sie {{canvas_entry_properties.${product_name}}} verwenden.

Screenshot zum Anwendungsfall.

New Stuff!