Meta tags:
description= Learn how to reference objects and relationships using liquid.;
Headings (most frequently used words):
data, object, objects, trigger, to, for, in, campaigns, attribute, person, liquid, reference, relationship, triggered, audience, related, an, the, show, all, update, send, and, use, how, can, we, make, it, better, non, examples, workflow, actions, exception, before, you, begin, check, if, is, list, message, member, who, did, not, journey, up, 10, create, or, event, receive, batch, latest, features, at, customer, io, set, your, own, exit, conditions, dark, mode, styles, app, messages, design, studio, find, fix, errors, with, new, review, panel,
Text of the page (most frequently used words):
and (102), the (98), #messages (83), app (81), push (77), you (75), data (73), your (67), for (67), #objects (63), people (57), object (53), customer (52), trigger (52), events (47), set (47), started (45), use (43), track (40), relationship (39), notifications (38), with (37), liquid (37), email (34), campaigns (33), person (32), message (32), send (31), get (30), campaign (29), identify (29), how (28), metrics (28), troubleshooting (27), related (26), reference (26), create (25), event (24), account (24), name (24), api (23), this (23), triggered (23), from (22), online_classes (22), update (21), that (21), tracking (21), attribute (20), class (20), links (20), can (18), using (18), mobile (17), changelog (17), multiple (16), start (16), anonymous (16), getting (16), what (14), attributes (14), not (13), actions (13), guide (13), attribute_name (13), quick (13), listeners (13), deep (13), test (13), page (12), all (12), add (12), could (12), classes (12), relationships (12), custom (12), activity (12), inbox (12), google (12), integrations (12), audience (11), new (11), users (11), authentication (11), manage (11), capture (11), options (11), subscription (11), our (10), then (10), billing (10), like (10), were (10), calculus (10), when (10), transactional (10), works (10), messaging (10), inline (10), android (10), channels (10), screen (10), lifecycle (10), segments (10), privacy (9), support (9), receive (9), have (9), webhooks (9), only (9), just (9), edit (9), handling (9), providers (9), configuration (9), migrate (9), advanced (9), content (9), editor (9), who (8), check (8), type (8), out (8), based (8), notification (8), design (8), studio (8), emails (8), conditions (8), features (7), workflow (7), non (7), want (7), instance (7), same (7), assign (7), more (7), english (7), created (7), added (7), following (7), time (7), syntax (7), security (7), flutter (7), packages (7), version (7), integration (7), introduction (7), forms (7), components (7), service (6), overview (6), need (6), batch (6), show (6), examples (6), next_appointment (6), date (6), each (6), across (6), render (6), workspace (6), _relationship (6), review (6), understand (6), workflows (6), broadcasts (6), json (6), settings (6), sms (6), ios (6), react (6), native (6), segment (6), amazon (6), inbound (6), sending (6), about (5), pipelines (5), platform (5), help (5), list (5), choose (5), understanding (5), literature (5), would (5), example (5), customers (5), feature (5), size (5), first_name (5), addresses (5), best (5), practices (5), whatsapp (5), updates (5), location (5), earlier (5), rules (5), frequently (5), asked (5), questions (5), legacy (5), hubspot (5), code (5), javascript (5), analysis (5), errors (5), link (5), styles (5), welcome (5), css (5), policy (4), status (4), journeys (4), make (4), copy (4), journey (4), before (4), mixpanel (4), goals (4), instead (4), endif (4), appt (4), respectively (4), keep (4), mind (4), personalize (4), two (4), object_type (4), admin (4), filter (4), sign (4), role (4), online (4), other (4), below (4), see (4), types (4), triggers (4), 2026 (4), conversion (4), builder (4), groups (4), rich (4), apis (4), conversions (4), snowflake (4), reporting (4), storage (4), bigquery (4), redshift (4), mode (4), webhook (4), tests (4), recipes (4), statuses (4), find (4), preferences (4), global (4), component (4), faq (4), opt (4), layouts (4), domain (4), delete (4), exit (4), branches (4), timestamp (4), filters (4), style (4), docs (4), documentation (3), team (3), feedback (3), available (3), don (3), also (3), action (3), separate (3), cases (3), may (3), appointments (3), loop (3), through (3), upcoming (3), equal (3), format (3), necessarily (3), matthew (3), clarice (3), object_id (3), created_at (3), _created_in_customerio_at (3), cio_object_id (3), key (3), they (3), target (3), imagine (3), than (3), single (3), keys (3), notation (3), was (3), their (3), means (3), recently (3), most (3), another (3), number (3), referencing (3), automation (3), newsletters (3), pull (3), changes (3), releases (3), workspaces (3), roles (3), standard (3), performance (3), audit (3), logs (3), upgrade (3), expo (3), implementation (3), certificates (3), visual (3), website (3), twilio (3), slack (3), salesforce (3), facebook (3), ads (3), cohorts (3), map (3), server (3), reverse (3), etl (3), beta (3), live (3), common (3), deliverability (3), broadcast (3), center (3), multi (3), templates (3), surveys (3), web (3), phone (3), validate (3), integrate (3), preview (3), drag (3), drop (3), smtp (3), why (3), dark (3), export (3), via (3), csv (3), mcp (3), agent (3), contact (2), company (2), resources (2), pricing (2), parcel (2), will (2), possible (2), improve (2), part (2), close (2), member (2), did (2), begin (2), exception (2), which (2), change (2), dropdown (2), case (2), specify (2), profile (2), perhaps (2), stripe (2), analytics (2), but (2), into (2), endfor (2), let (2), schedule (2), any (2), control (2), ae3000 (2), 145 (2), 1685030405 (2), 1685030419 (2), oba886080104 (2), both (2), cannot (2), consider (2), certain (2), learn (2), uses (2), catalog (2), else (2), courses (2), dot (2), classes_count (2), enter (2), admins (2), wanted (2), know (2), oldest (2), corresponds (2), one (2), specific (2), relative (2), however (2), names (2), match (2), these (2), values (2), underscore (2), tags (2), lets (2), refers (2), joined (2), jeff (2), online_class (2), rendered (2), syllabus (2), index (2), browser (2), issues (2), store (2), cookies (2), expiration (2), search (2), accounts (2), members (2), plan (2), tasks (2), verification (2), provisional (2), sound (2), sdks (2), html (2), comparing (2), pixel (2), sendgrid (2), rudderstack (2), azure (2), blob (2), cloud (2), audiences (2), braze (2), amplitude (2), connections (2), past (2), classic (2), servers (2), deleting (2), services (2), postgresql (2), mysql (2), microsoft (2), sql (2), incoming (2), requests (2), csp (2), proxying (2), client (2), disconnect (2), backend (2), form (2), lead (2), video (2), semantic (2), compliance (2), directory (2), results (2), dashboard (2), personalization (2), library (2), files (2), brand (2), adding (2), url (2), parameters (2), localization (2), line (2), activities (2), respond (2), adoption (2), promotions (2), nps (2), display (2), flow (2), build (2), sender (2), senders (2), text (2), headers (2), adapting (2), template (2), own (2), relay (2), zone (2), reusable (2), fix (2), concepts (2), reminders (2), trial (2), book (2), frequencies (2), aren (2), criteria (2), collaborate (2), connected (2), accessibility (2), shortcuts (2), devices (2), work (2), segmentation (2), collections (2), import (2), survey (2), suggestions (2), setup (2), cli (2), academy (2), structured (2), learning (2), panel (2), now (2), demo (2), 2024, peaberry, software, inc, terms, 9450, gemini, suite, 43920, beaverton, oregon, 97008, 7105, win, startup, program, partners, careers, guides, competitors, community, blog, release, notes, soon, appreciate, bot, please, provide, valid, address, optional, yes, better, helpful, download, copied, clipboard, under, remove, populate, write, doesn, fit, include, bulk, reconcile, pass, distinct, simply, parts, ease, maintenance, many, accomplish, goal, blank, say, appointment, earliest, over, value, pair, associate, etc, first, enrolled, them, enrollment, likely, surface, especially, 1681491859, oba886080102, 1681491863, useable, not_started, second, intentionally, compare, equals, operator, variable, inform, subscriber, condition, here, subscribe, being, are, relate, isn, easiest, thanks, bearing, experience, renders, because, refer, math, order, sure, limitations, remember, replace, well, someone, read, above, wondering, otherwise, without, already, named, _customer, access, stored, associated, reason, recommend, directly, personalized, whatever, changed, recipient, ali, recall, ability, different, familiar, primer, craft, made, targets, updated, july, complete, llms, txt, har, file, login, qualifications, respecting, gdpr, allowlist, session, sensitivity, timezone, enable, experimental, regions, sso, factor, credentials, customize, information, switch, between, canceling, payment, problems, reducing, overages, credits, bill, sdk, channel, swift, zendesk, yandex, wisepops, optimizer, vwo, twitter, engage, tiktok, talon, sprig, marketing, saleswings, sent, ripe, qualtrics, playerzero, pipedrive, pinterest, moengage, metronome, meta, logrocket, livelike, launchdarkly, koala, intercom, heap, tag, manager, gtm, sheets, gtag, gainsight, fullstory, friendbuy, criteo, cordial, commandbar, clevertap, bing, attio, algolia, insights, adobe, actable, predictive, resend, filtering, mapping, database, warehouse, zoho, zapier, mparticle, platforms, python, node, call, calculator, scheduled, syncs, invalid, transform, utility, methods, identity, management, managing, identities, method, frameworks, wordpress, wpforms, webflow, unbounce, typeform, squarespace, jotform, formstack, sources, backfill, historical, playback, chat, ecommerce, fields, alias, group, source, specs, failed, attempted, conclusive, reports, home, composer, reusing, snippets, deliveries, drafts, image, requirements, assets, outside, language, preference, faqs, pages, unsubscribes, https, universal, checking, translations, translate, languages, milestones, achievements, promote, offers, localize, step, compose, hipaa, regulations, kind, registration, compliant, register, numbers, keyword, smart, character, encoding, keywords, shortening, mms, payloads, registering, device, tokens, provider, trustpilot, reviews, gmail, does, fake, bcc, option, preheader, avatar, logo, mailchimp, column, foundation, basic, view, amp, pre, processing, archive, customizing, basics, right, editors, oracle, dyn, sparkpost, postmark, mandrill, mailjet, mailgun, verify, deliverable, kickbox, anonymized, authenticating, apple, private, unsubscribe, rfc, 8058, postmaster, tools, suppression, lists, suppressions, spamhaus, blocklist, listings, shared, dedicated, warming, attachments, creating, transitioning, limits, supported, formats, zones, recommended, geolocation, queue, draft, behavior, default, direct, mail, lob, configure, randomized, delay, wait, until, window, delays, blocks, true, false, random, split, reformat, inconsistent, items, holdout, llm, generate, decisions, inactive, trips, rss, feed, cohort, optimize, words, onboarding, double, cart, abandonment, birthday, anniversary, recipe, grace, periods, tickets, syncing, sync, follow, responses, receiving, entering, troubleshoot, state, history, submit, teammates, stylesheet, conditionals, directives, modifiable, placeholder, scratch, publish, connect, quality, mso, emmet, fixes, variables, cleanup, formatting, inlining, mjml, framework, transformers, individual, responsive, keyboard, convert, setting, purposes, within, days, building, manual, driven, activate, waitlist, awareness, announce, drive, usage, upsell, monetize, power, tutorials, external, merging, storing, suppress, ids, last, visited, field, resolve, duplicate, profiles, cursor, ides, claude, chatgpt, command, routines, skills, ask, prevent, images, score, against, color, properties, fills, borders, early, meet, longer, depend, latest, request, log,
Text of the page (random words):
in app messages test support migrate from an earlier version troubleshooting changelog android get started identify people track events push notifications rich push notifications test support migrate from an earlier version changelog react native quick start guide getting started how it works authentication packages and configuration options troubleshooting identify and track users identify people track events screen tracking mobile lifecycle events anonymous activity location tracking push notifications set up push notifications app groups for push tracking deep links handling multiple push providers capture push metrics android channels in app messages set up in app messages inline in app messages in app event listeners notification inbox what s new 6 x 6 4 0 5 x 6 0 0 4 x 5 0 0 4 x 4 3 3 4x 4 x 3 x 3 4 2 x 3 x changelog react native quick start guide getting started how it works authentication packages and configuration options troubleshooting identify and track users identify people track events screen tracking mobile lifecycle events anonymous activity push notifications set up push notifications deep links handling multiple push providers capture push metrics android channels in app messages set up in app messages inline in app messages in app event listeners what s new 4 x 4 3 3 4x 4 x 3 x 3 4 2 x 3 x changelog react native quick start guide getting started how it works authentication packages and configuration options troubleshooting identify and track users identify people track events screen tracking mobile lifecycle events anonymous activity push notifications set up push notifications deep links handling multiple push providers capture push metrics android channels in app messages set up in app messages inline in app messages in app event listeners what s new 4 x 5 0 0 4 x 4 3 3 4x 4 x 3 x 3 4 2 x 3 x changelog react native get started identify people track events push notifications set up push notifications deep links handling multiple push providers capture push metrics in app messages set up in app messages in app event listeners updates and troubleshooting migrate from an earlier version troubleshooting changelog react native get started identify people track events push notifications set up push notifications deep links handling multiple push providers capture push metrics in app messages set up in app messages in app event listeners updates and troubleshooting migrate from an earlier version update to version 3 4 troubleshooting changelog expo quick start guide getting started how it works authentication packages and configuration options troubleshooting identify and track people identify people track events screen tracking mobile lifecycle events anonymous activity location tracking push notifications set up push notifications app groups for push tracking deep links capture push metrics android channels multiple push providers in app messages inline in app messages notification inbox set up in app messages in app event listeners what s new 3 x 3 3 2 x 3 x 1x 2 x changelog expo get started identify people track events push notifications set up push notifications deep links capture push metrics in app messages set up in app messages in app event listeners updates and troubleshooting troubleshooting changelog flutter quick start guide get started how it works authentication configuration options troubleshooting identify track users identify people mobile lifecycle events anonymous activity screen tracking track events location tracking push notifications set up push notifications app groups for push tracking deep links handling multiple push providers capture push metrics android channels in app messages in app messages inline in app messages notification inbox in app event listeners what s new 3 x 4 0 0 3 x 3 5 0 2 x 3 0 0 2 x 2 2 upgrade to flutter 2 x changelog flutter quick start guide get started how it works authentication configuration options troubleshooting identify track users identify people mobile lifecycle events anonymous activity screen tracking track events push notifications set up push notifications deep links handling multiple push providers capture push metrics android channels in app messages in app messages inline in app messages in app event listeners what s new 2 x 2 2 upgrade to flutter 2 x changelog flutter get started identify people track events update flutter sdk push notifications set up push notifications deep links handling multiple push providers capture push metrics in app messages in app messages in app event listeners updates and troubleshooting update ios troubleshooting changelog settings billing account verification audit logs tasks workspace performance billing how we bill billing for sms messages billing for whatsapp messages ai credits reducing billing overages payment problems canceling your account plan features builder plan your account manage team members how to add team members assign standard roles create assign custom roles switch between accounts edit account information customize your ui manage your api credentials security best practices two factor authentication single sign on sso account regions us and eu enable experimental features workspaces workspaces in customer io understand timezone conversion case sensitivity and your data search your workspace privacy security session cookies and expiration allowlist our ip addresses customer io gdpr and you security mobile and app store privacy privacy respecting your users privacy ai settings customer io security qualifications troubleshooting troubleshooting login and browser issues create a har file for help troubleshooting releases this page is part of the customer io documentation for the complete documentation index see llms txt messaging objects data objects objects in liquid md 40 use objects in liquid updated july 10 2026 learn how to reference objects and relationships using liquid reference trigger data you can trigger campaigns based on changes to objects and relationships so we made it possible for you to use liquid that targets the trigger object or relationship data you can reference trigger data for object and relationship triggered campaigns using trigger object_type attribute_name for instance if you have an object type of online classes and set up a campaign to trigger when you update a class you could craft an email like the following liquid syntax rendered liquid hi customer first_name we just added a syllabus to trigger online_class name hi jeff we just added a syllabus to calculus 1a see the liquid examples below for more use cases new to json objects in customer io use json dot notation if you re not familiar with json we have a quick primer to help you understand how it works relationship triggered campaigns you can use the following liquid when a relationship triggers a campaign trigger relationship attribute_name trigger object_type attribute_name trigger customer attribute_name recall that a relationship triggered campaign can have an audience that is different from the person with the relationship that triggered a campaign you have the ability to reference both people using liquid for instance liquid syntax rendered liquid hi customer first_name trigger customer first_name just joined your trigger online_class name class hi jeff ali just joined your calculus 1a class customer first_name refers to the audience recipient of the message and trigger customer first_name refers to the person with the relationship that triggered the campaign object triggered campaigns when you set up campaigns that trigger on object changes you can pull data directly from the trigger object this lets you create personalized messages based on whatever just changed using liquid the following liquid lets you pull in attribute data from the object trigger trigger object_type attribute_name exception to trigger data customer io uses customer and relationship as keys in liquid tags to access data stored on your people and relationship data associated with your objects respectively for this reason we recommend you not name your object types customers or relationships however if you already named your objects customers or relationships and want to reference trigger data you ll need to add an underscore to the key like trigger _customer attribute name or trigger _relationship attribute name otherwise referencing the keys relationship or customer without the underscore will pull in object data not trigger data like trigger relationship attribute_name or trigger customer attribute_name reference non trigger data if you ve read the above you may be wondering how to reference object data when an object or relationship is not the trigger for a campaign for instance you may want to check if someone is related to an object list values for the same attribute across multiple objects let s imagine you have an object type of online classes and these classes have an attribute of name you could reference non trigger data for classes with the following liquid objects online_classes objects online_classes objects online_classes name you could reference relationships to these classes as well below we reference the relationship attributes role and name objects online_classes relationship role customer _relationship name when using this liquid just remember to replace the object type and attribute names to match your data you can use most of this liquid across any of our automation workflows campaigns newsletters api triggered broadcasts and transactional messages this liquid customer _relationship attribute_name however is only available in object and relationship triggered campaigns see below we ll get into examples below but make sure you understand the following limitations before using non trigger liquid in your campaigns before you begin before you use non trigger liquid for objects and relationships consider that referencing objects is relative referencing an object is relative to the number of objects a person is related to in your object type and the order the objects were created in this means that objects online_classes 0 could refer to an english class for one person and a math class for another you can t reference a specific object or relationship across all people in your campaign 0 corresponds to the most recently created object that a person is related to and 9 corresponds to the oldest object that a person is related to you cannot reference more than 10 objects of the same type if a person is related to more than 10 objects of the same type like 11 classes then only the 10 most recently created could render in a message for example objects online_classes renders based on the date each object was created not when a person was related to the object this means that if you just related the oldest online class to a person with relationships to 10 other classes then this class would not render in the list because the 10 other classes were created more recently we know this isn t the easiest to use thanks for bearing with us as we improve this experience the following examples imagine that you relate people to online classes object attribute if you wanted to reference just an attribute you d use objects online_classes 0 attribute_name keep in mind objects online_classes 0 name is not necessarily the same class across all people who receive a message that is if matthew were related to english literature only and clarice were related to calculus 1a only then objects online_classes 0 name would render the data for each class name respectively relationship attribute if you wanted to reference relationship data for an object you d use objects online_classes relationship attribute_name keep in mind objects online_classes relationship attribute_name is not necessarily the same class across all people who receive a message that is if matthew were related to english literature only and clarice were related to calculus 1a only then objects online_classes 0 relationship attribute_name would render the data for each class respectively audience attribute in object or relationship triggered campaigns you choose an audience the people who start a journey for instance if you triggered a campaign based on a person being added to an account you could specify that you want people who are account admins to enter the campaign and receive messages you d reference the audience using customer _relationship attribute_name in messages to target the person who triggered the campaign you d use trigger liquid here s an example of how to message admins when people subscribe to their account create a campaign triggered by a person added to an account set the relationship trigger condition to role is equal to subscriber set the audience to certain people in the account choose relationship from the dropdown then enter role is equal to admin create a message to inform the admin s that a person was added to the account hi customer _relationship admin trigger customer name at trigger account name started using trigger relationship feature examples check if a person is related to objects you can assign a variable to check if a person is related to objects assign classes_count objects online_classes size if classes_count 0 time to sign up for a class review our catalog else check out related courses endif you use the size filter with dot notation to check for relationships if objects online_classes size 0 check out related courses else time to sign up for a class review our catalog endif this second example intentionally uses 0 instead of 0 you can t compare keys with size notation using the equals operator learn more about the size filter in our liquid reference guide list objects related to a person for class in objects online_classes if class relationship status not_started class name endif endfor message an audience member who did not trigger the journey this is only useable in object or relationship triggered campaigns when the audience is certain people related to the object check out audience attribute for an example of a campaign you could use this in hi customer _relationship admin trigger customer name at trigger account name started using trigger relationship feature show all object data for up to 10 objects use objects object_type to show all attributes related to each object a person is related to for instance if a person were related to two classes then objects online_classes could render the following _created_in_customerio_at 1685030419 cio_object_id oba886080104 created_at 1685030405 name english literature object_id ae3000 145 _created_in_customerio_at 1681491863 cio_object_id oba886080102 created_at 1681491859 name calculus 1a object_id 1 you likely don t want to surface all object data to your customers especially in this format consider using a for loop instead keep in mind you cannot reference more than 10 objects related to a person of a single object type show all object data for an object imagine that you created two classe...
|