Module 11: cast_highlight and cast_footnote
cast_highlight — Visual Emphasis
Section titled “cast_highlight — Visual Emphasis”What is it?
Section titled “What is it?”The cast_highlight filter visually highlights a piece of text in the Cast narration box — making it stand out from the surrounding content. Think of it as a digital highlighter pen applied to the most important data points in your narration.
Analogy: In a printed report, you might use a yellow highlighter to draw the reader’s eye to the one number that matters most on the page — the revenue figure, the percentage change, the health score.
cast_highlightdoes the same thing digitally.
Why it matters in Cast
Section titled “Why it matters in Cast”Cast narrations can be dense with data. Highlighting the key metrics helps viewers quickly find the numbers that matter most, even if they’re skimming rather than reading every word.
Liquid syntax
Section titled “Liquid syntax”{% raw %}{{ "text to highlight" | cast_highlight }}{{ variable | cast_highlight }}{% endraw %}Real Cast example
Section titled “Real Cast example”{% raw %}{%- assign used = LicenseUsed | default: 0 | times: 1 -%}{%- assign reserved = LicenseReserved | default: 0 | times: 1.0 -%}{%- assign pct = used | divided_by: reserved | times: 100 | round: 0 -%}
This site used {{ used | cast_highlight }} TiBs during this period,which is {{ pct | append: "%" | cast_highlight }} of your reserved capacity.{% endraw %}The viewer sees the usage amount and percentage visually highlighted, making them easy to spot at a glance.
💡 Editor shortcut: In the Cast narration editor, you can also select text and press the highlight button to apply cast_highlight without writing the filter manually.
Best practices
Section titled “Best practices”- Highlight sparingly — if everything is highlighted, nothing stands out. Aim for 1–3 highlights per narration box.
{% raw %}- Highlight data points, not entire sentences —
{{ score | cast_highlight }}is more effective than highlighting a whole paragraph.{% endraw %} {% raw %}- Combine with filters:{{ pct | append: "%" | cast_highlight }}highlights the formatted percentage.{% endraw %}
Common mistakes
Section titled “Common mistakes”❌ Highlighting too many things:
{% raw %}Your {{ health_score | cast_highlight }} is {{ status | cast_highlight }}with {{ arr | cast_highlight }} in {{ product_tier | cast_highlight }}.{% endraw %}When everything is highlighted, the emphasis is lost.
✅ Highlight only the most important value:
{% raw %}Your health score of {{ health_score | cast_highlight }} is strong,with ${{ arr }} in ARR on your {{ product_tier }} plan.{% endraw %}cast_footnote — Reference Notes
Section titled “cast_footnote — Reference Notes”What is it?
Section titled “What is it?”The cast_footnote filter adds a footnote marker (like ¹) at the position where it’s used, and displays the footnote text at the bottom of the narration box. The footnote content is not read aloud by the narrator — it’s purely visual, intended for readers who want the additional context.
Analogy: Just like footnotes in an academic paper or financial report. The main text flows naturally for the reader (and listener), while the source details, methodology notes, or caveats are available at the bottom for anyone who wants them.
Why it matters in Cast
Section titled “Why it matters in Cast”Cast narrations are spoken aloud, and you don’t want the narrator reading out lengthy data source notes, methodology explanations, or legal disclaimers. cast_footnote lets you include that information for visual reference without cluttering the audio experience.
Liquid syntax
Section titled “Liquid syntax”{% raw %}{{ "Footnote text here" | cast_footnote }}{% endraw %}The filter:
- Inserts a superscript number (¹, ², etc.) at the current position
- Displays the footnote text at the bottom of the narration box
- Tells the narrator to skip the footnote entirely
Real Cast example
Section titled “Real Cast example”{% raw %}Your health score improved by 15% this quarter{{ "Based on weekly health check data from Gainsight, averaged over Q1 2026" | cast_footnote }}.
This metric is calculated monthly{{ "Based on closed-won data from Salesforce" | cast_footnote }}.{% endraw %}What the viewer sees:
Your health score improved by 15% this quarter¹.
This metric is calculated monthly².
¹ Based on weekly health check data from Gainsight, averaged over Q1 2026 ² Based on closed-won data from Salesforce
What the narrator says:
“Your health score improved by 15% this quarter. This metric is calculated monthly.”
The narrator skips the footnotes entirely — clean, professional audio with full sourcing available visually.
Best practices
Section titled “Best practices”- Use footnotes for data source attributions: “Based on Salesforce data as of March 2026”
- Use footnotes for methodology notes: “Calculated as monthly active users / total licensed users”
- Use footnotes for caveats or disclaimers: “Excludes trial accounts”
- Place the footnote immediately after the claim it supports, before any punctuation:
{% raw %} …improved by 15%{{ “source note” | cast_footnote }}. {% endraw %}
#### Common mistakes
❌ **Putting long explanations in the main narration text:**```liquid{% raw %}Your health score improved by 15% this quarter (based on weeklyhealth check data from Gainsight, averaged over Q1 2026).{% endraw %}The narrator reads the parenthetical aloud, making the audio verbose.
✅ Move sourcing to a footnote:
{% raw %}Your health score improved by 15% this quarter{{ "Based on weekly health check data from Gainsight, averaged over Q1 2026" | cast_footnote }}.{% endraw %}❌ Using footnotes for content that should be spoken:
{% raw %}We recommend {{ "scheduling a call with your CSM to discuss optimization strategies" | cast_footnote }}.{% endraw %}The recommendation is the point of the narration — it should be spoken, not hidden in a footnote.
✅ Only footnote supplementary information the narrator shouldn’t say:
{% raw %}We recommend scheduling a call with your {{ "CSM" | cast_pronounce }} to discussoptimization strategies{{ "Your CSM can be reached at csm@acme.com" | cast_footnote }}.{% endraw %}Using Both Filters Together
Section titled “Using Both Filters Together”cast_highlight and cast_footnote complement each other. Highlight draws the eye to what matters most; footnotes provide backup detail without cluttering the narration.
{% raw %}{%- assign used = LicenseUsed | default: 0 | times: 1 -%}{%- assign reserved = LicenseReserved | default: 1 | times: 1.0 -%}{%- assign pct = used | divided_by: reserved | times: 100 | round: 0 -%}
This site used {{ used | cast_highlight }} TiBs during this period,which is {{ pct | append: "%" | cast_highlight }} of your reservedcapacity{{ "Usage data aggregated from all sub-accounts, measured in tebibytes" | cast_footnote }}.{% endraw %}The viewer sees the two key numbers highlighted and the methodology footnoted. The narrator speaks the sentence naturally without the technical note.
Try It Yourself
Section titled “Try It Yourself”Exercise: Write a narration sentence that:
- States that the customer’s NPS score is 78 (highlighted)
- Includes a footnote explaining that NPS data comes from surveys conducted in February 2026
- The narrator should say “Net Promoter Score” instead of “NPS” (use
cast_pronounce)
Assume “NPS” is already in the Pronunciations dictionary.
Click to reveal the answer
{% raw %}Your {{ "NPS" | cast_pronounce }} score of {{ 78 | cast_highlight }}places you well above the industry average{{ "NPS data collected from customer surveys conducted in February 2026" | cast_footnote }}.{% endraw %}Screen shows:
Your NPS score of 78 places you well above the industry average¹.
¹ NPS data collected from customer surveys conducted in February 2026
Narrator says:
“Your Net Promoter Score score of 78 places you well above the industry average.”
(The footnote is silent, the NPS is spoken in full, and the score is visually highlighted.)
💡 Notice the narrator says “Net Promoter Score score” — which is a bit redundant. To avoid this, you could adjust the dictionary entry or restructure the sentence:
{% raw %}Your {{ "NPS" | cast_pronounce }} of {{ 78 | cast_highlight }}places you well above the industry average{{ "NPS data collected from customer surveys conducted in February 2026" | cast_footnote }}.{% endraw %}All Five Cast Custom Filters — Summary
Section titled “All Five Cast Custom Filters — Summary”You’ve now learned all five custom filters that Cast adds on top of standard Liquid:
| Filter | Purpose | Screen | Audio |
|---|---|---|---|
cast_titlecase |
Proper company name casing | Changes text | Changes text |
cast_apostrophe |
Grammatical possessives | Changes text | Changes text |
cast_pronounce |
Pronunciation control | No change | Changes audio |
cast_highlight |
Visual emphasis | Adds highlight | No change |
cast_footnote |
Reference notes | Adds footnote | Skips in audio |
What’s Next
Section titled “What’s Next”In Module 12, you’ll move into logic — learning if, elsif, and else to create narrations that adapt their content based on customer data.
📖 Official documentation:
- Custom Cast Filters: https://school.cast.app/liquid/custom-cast-filters.html