Skip to main content

Dynamic Event Property Reference Guide For Sonar-Powered Klaviyo Flows

Quick reference guide for commonly used dynamic variables in Klaviyo messages. Broken out by event.

Tim Hughes avatar
Written by Tim Hughes
Updated yesterday

Sonar Send events mirror Klaviyo’s standard schema—so product images, titles, prices, and links should render seamlessly in your Sonar-powered flows. This guide highlights the most common event types and properties to help you get started quickly.

Always validate in Klaviyo using Preview & TestAll properties, and when building dynamic content, copy variables directly from Klaviyo to ensure proper casing and syntax.

Use the below tables as a starting point to explore the properties that matter most to your flows. There is a single table per Sonar-metric we send to Klaviyo.

Active On Site - Triple Pixel

Property

Example

Notes

Klaviyo Tag (Copied from Preview)

Page

https://store.com/products/...

Page URL

{{ event.page|default:'' }}

Viewed Product - Triple Pixel

Property

Example

Notes

Klaviyo Tag (Copied from Preview)

Name

Top Knot Hair Extension

The name of the viewed product

{{ event.Name|default:'' }}

Brand

Triple Hair Co.

Brand assigned in catalog

{{ event.Brand|default:'' }}

Image URL

https://cdn.shopify.com/...

Product image URL

{{ event.ImageURL|default:'' }}

URL

https://store.com/products/...

Product page link

{{ event.URL|default:'' }}

Value

29.99

Numeric price w/o $

{{ event.Value|default:'' }}

Price

$29.99

Numeric price w/ $

{{ event.Price|default:'' }}

Compare At Price

$39.99

Numeric compare price w/ $

{{ event.CompareAtPrice|default:'' }}

Added to Cart - Triple Pixel

Property

Example

Notes

Klaviyo Tag (Copied from Preview)

Name

“Messy Bun Scrunchie”

Product name

{{ event.Name|default:'' }}

Variant Title

“Blonde / Medium”

Selected variant

{{ event.items.0.variant_title|default:'' }}

Quantity

2

Quantity added

{{ event.items.0.quantity|default:'' }}

Price

15.00

Price per unit (numeric)

{{ event.items.0.price|default:'' }}

Compare At Price

20.00

Original price (if present)

{{ event.items.0.compare_at_price|default:'' }}

Image URL

https://cdn.shopify.com/...

Variant/product image URL

{{ event.ImageURL|default:'' }}

URL

https://store.com/products/...

Product page link

{{ event.URL|default:'' }}

Currency

USD

Currency code

{{ event|lookup:'$currency'|default:'' }}

Checkout Started - Triple Pixle

Property

Example

Notes

Klaviyo Tag (Copied from Preview)

line_items (array)

[ {title: “…”, quantity: 2, …} ]

Array of products in checkout

Not directly usable — use index (0,1,2…)

line_items.0.title

“Top Knot Hair Extension”

First item title (zero-indexed)

{{ event.Items.0|default:'' }}

line_items.0.quantity

1

Quantity of first item

{{ event.extra.line_items.0.quantity|default:'' }}

line_items.0.line_price

29.99

Line subtotal for first item

{{ event.extra.line_items.0.price|default:'' }}

checkout_url

https://checkout.shopify.com/...

Main checkout link

{{ event.extra.checkout_url|default:'' }}

discount_codes

[WELCOME10]

Applied discounts (if any are applied)

{{ event|lookup:'Discount Codes'|default:'' }}

customer_locale

en-US

Locale of the customer

{{ event|lookup:'Customer Locale'|default:'' }}

collections

“Hair, Accessories”

Product collections in checkout

{{ event.Collections|default:'' }}


Wrapping Up

By aligning Sonar Send events with Klaviyo’s standard schema, you can confidently build dynamic flows that display the right content at the right time. To get the most from these properties, keep a few best practices in mind and lean on Klaviyo’s documentation when needed.

Troubleshooting

  • If a property doesn’t render, check Preview & test → All properties and copy the correct variable.

  • Use lookup syntax for keys with spaces: {{ event|lookup:'Product Name' }}.

  • For arrays (line_items), either reference specific indexes (0, 1, 2) or use a loop.

  • Wrap prices in {% currency_format … %} if they display as raw numbers.

  • Establish default values whenever possible using default:.

  • For deeper guidance, check out Klaviyo’s own resources that cover much of this in more detail.

Did this answer your question?