> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nextintent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# The card

> What the card is on any website, where it renders, the four output settings, when it is withdrawn, what it never contains, and how to confirm a sentence was shown.

The card is how a sentence reaches a visitor on the page: a small panel at the bottom of the viewport with one sentence and, sometimes, one link. It appears once per visit, while the visitor is still there, and it disappears when they close it or move on. On any website it is the same card the Shopify app shows; the store-owner view of it is in [What shoppers see](/shopify/how-it-works/what-shoppers-see).

## Where it renders

The reference snippet draws the card inside your page, styled to stay out of the way: bottom of the viewport, one line of text, a close control, and a link only when the sentence has one. It uses `textContent`, never HTML, so the sentence cannot carry markup. The link is always a path on your own origin, taken from the sheet's `links` or a product note's `url`; the snippet refuses anything else.

The card is placed for a visitor when the engine engages and has a sentence. The page collects it with a short poll that starts 12 seconds after the visitor id is known, runs every 6 seconds while the tab is visible, backs off, and stops after 15 minutes or once a card has been delivered. A card waits three minutes to be collected; a visitor who has left never sees a stale one. Mechanics and payloads are in [The card and the event (API)](/api/the-card).

## The four outputs

Set on the facts sheet as `output`:

| Output | What happens |
| - | - |
| `card` | NextIntent's snippet draws the card and reports shown, clicked, dismissed |
| `event` | Nothing is drawn. The snippet fires `nextintent:moment` on `window` with the sentence and link, reports shown at once, and your code renders it however you like |
| `popup` | The snippet asks your popup tool (OptiMonk, Justuno, Privy, Wisepops, Klaviyo, or a custom hook) to show the campaign named in `popup`, with a separate campaign for declined-code moments. If the tool is absent or refuses, the card is drawn instead |
| `none` | Nothing is shown. Moments are recorded with the sentence the engine wanted to say |

`event` is the right choice when your site already has a design system for messages. `popup` is for a site that runs its offers through a popup tool and wants NextIntent to pick the moment rather than the tool's own timers.

## When it is withdrawn

A placed card is pulled back before it is shown when the visitor buys (the order arrives from your server or the checkout completes), when the visitor leaves the page or enters checkout, and when the three minutes run out. A visitor who bought hears nothing for 24 hours after. This is why the sentence is never shown to someone in the middle of paying.

## What it never contains

No greeting, no name, nothing about what was observed ("we noticed you have been on this page"), no price that is not on the sheet, no code unless offers are allowed and the visitor's own code failed, no claim of free shipping without the line and a cart at or over it, no claim of free returns unless the sheet says so, no link off the site. Every one of these is a rule applied to the sentence before it is placed, not a guideline.

## Shown is the only count that matters

A card that was placed but never collected, or collected but never drawn, does not count. The snippet reports `shown` when the card is on the screen, and that report is what makes the visitor count as spoken to in every view and, on Shopify, on the bill. If you render your own card from the event, send the `shown` acknowledgement when your element is visible or nothing you show is ever credited. The definition is spelled out in [What "spoke to" means](/shopify/how-it-works/spoke-to).

## Related

* [The card and the event (API)](/api/the-card)
* [The facts sheet](/website/facts-sheet)
* [Watch mode and active mode](/website/modes)
* [What shoppers see](/shopify/how-it-works/what-shoppers-see)
