Skip to main content
Following a preset link always ends in a redirect. Where to depends on whether the preset could be added.

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. 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 the unavailable_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 own wp_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.