Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

JSONata を使う

最終更新 Markdown で表示Agent セットアップ

高度な用途では、値を特定の方法で取り出したいことがあります。たとえば zaraz.track で商品リストを Zaraz に送っている一方で、送信先のサードパーティツールが商品の合計金額を求めている場合があります。値を小文字に変換するなど、加工したい場合もあります。

Cloudflare Zaraz は JSONata を使い、データに対する複雑な操作を可能にします。JSONata では Zaraz Context に対して式を評価でき、幅広い値へアクセスして加工できます。利用できる値と参照方法は、リファレンス全体 を確認してください。JSONata の機能については、JSONata のドキュメント も参照できます。

Zaraz で JSONata を使う手順は次のとおりです。

  1. Cloudflare ダッシュボードで、Tag setup ページを開きます。

    Settings を開く ↗
  2. Tools configuration > Tools へ進みます。

  3. すでに設定済みのツールの横にある Edit を選びます。

  4. アクションを選ぶか、新しいアクションを追加します。

  5. JSONata を使いたいフィールドを選び、JSONata 式を二重中括弧で囲みます。例: {{ expression }}

JSONata はトリガー、ツール設定、文字列変数の中でも使えます。

文字列を小文字に変換する

文字列を小文字に変換すると、正規表現などほかの値と比較しやすくなります。元の文字列が myCookie という Cookie から来る場合、{{ $lowercase(system.cookies.myCookie) }} で小文字にできます。

カート内の全商品の合計を送る

zaraz.ecommerce() で、次のようにカート内容を送っているとします。

zaraz.track('Product List Viewed',
  {  products:
    [
    {
      sku: '2671033',
      name: 'V-neck T-shirt',
      price: 14.99,
      quantity: 3
    },{
      sku: '2671034',
      name: 'T-shirt',
      price: 10.99,
      quantity: 2
    },
    ],
  }
);

合計を表示したいフィールドには、{{ $sum(client.products.(price * quantity)) }} を入力します。各商品の価格に数量を掛け、その合計を求めます。

役に立ちましたか?