After a successful add
Set store-wide under Settings → Cart behavior → After a successful add, and overridable per preset.
The cart is the default and the safe choice: the customer sees what they got before they commit to it.
Checkout shortens the path for a campaign where the offer is already understood.
Stay on the page is for links embedded in your own content. A button inside a blog post can fill the cart and leave the reader exactly where they were reading.
How “stay” decides where that is
From the referring page, and only if it is one of yours. A referer from another site is ignored and the customer goes to your home page instead. Otherwise any site could embed your preset link and bounce your customers back to themselves. No referer at all — a link pasted into the address bar, or a browser that sends none — also goes to your home page.Per-preset override
Each preset can pick its own destination, or follow the store setting. The editor shows what the store setting currently is, so you can see what “follow the store setting” means without leaving the page.When a link is refused
Eight situations, each with its own message and all of them editable. See Cart notices and wording.The fallback URL
Settings → Links & fallbacks → Fallback URL. Leave it empty and refused customers go to your shop page.Ended and sold-out presets can redirect instead
A preset whose schedule ended or whose cap filled can send customers to an address of your choice rather than the cart — typically a landing page explaining the offer has closed. That is theunavailable_action setting, covered under Scheduling.
Partial adds
Sometimes most of a preset works. Four messages cover the cases where something was skipped or trimmed:
The customer keeps what could be added. Whether a failure skips the item or refuses the whole preset is the If an item cannot be added setting — see Items.
External addresses work
Custom destinations, per-preset custom URLs and end-of-life redirects may all point at another domain. WordPress’s ownwp_safe_redirect() would silently rewrite a foreign host to wp-admin — sending your customer to a dashboard login. CartPresets passes merchant-configured destinations through a helper that allow-lists the host you actually configured, so the address you typed is the address they reach.
This applies only to addresses you configured in settings. A host arriving in a request is never trusted.
Settings reference
For developers
cartpresets_post_add_url filters the resolved destination and is safety-clamped. See the hooks reference.