Two forms, one preset
Both of these go to the same preset:?preset=starter-kit, or your own parameter if you’ve changed it. That includes the editor, the list’s Link column and the Link preview in Settings.
In the editor, the Preset link note beside the form shows the link with a Copy button and an Open link shortcut. When the link is the pretty form, the query form is listed under it as Also answers to. A new preset has no link until its first save, so until then the note shows only the path its name will produce.
Changing the base and the parameter
You control both halves, under Settings → Link settings:
Change the base to
/kit/ and every preset link becomes /kit/starter-kit. The Link preview under the two fields shows how every preset link will read before you save. On a site with plain permalinks it shows the query form, and its note says links use the URL parameter. It takes effect when you save, and permalinks are flushed for you.
The parameter name is checked against names WordPress and WooCommerce already own, and a collision is refused. The plugin leaves its own parameter out of that check, so saving the settings screen twice won’t flag a collision with itself.
Renaming a preset
You edit the slug in the editor’s Preset details card, beside the name. The button next to it regenerates the slug from the name. Change a preset’s slug and the old one keeps working for 30 days, as a permanent redirect to the new one. Once you share a link it’s out of your hands. You can’t edit a newsletter you sent last week. Thirty days is long enough for traffic from a campaign already out there to drain away. After 30 days the old slug stops working, and it’s refused like any other link that matches no preset.Slug collisions
Two presets can’t share a slug. If you type one that’s taken, the new preset gets a number on the end,starter-kit-2, and saves. It won’t refuse the save and make you think of another name.
If the exact slug matters to you, check the Preset link note after saving.
When a link does not resolve
A mistyped slug, a deleted preset, or a rename older than 30 days are all refused. They go wherever Settings → Cart behaviour → Unavailable links sends a refused customer: the cart by default, or a custom URL of your own. That one setting covers every way a link can be refused. See Where customers land. They also get a notice, as long as Show an error message is on: That link is not valid. It may have been changed or removed. That wording deliberately doesn’t say whether the preset ever existed. Anyone can guess a URL, and a message that confirms what was there tells a stranger more than it tells your customer. You can reword it. See Cart notices and wording.UTM parameters
Any query parameters on a preset link, such as?utm_source=newsletter, are always carried through the redirect to wherever the customer lands. Your analytics still attribute the visit.
Append the preset name as a UTM campaign (Settings → Link settings, off by default) also adds utm_campaign=<preset slug> to the destination. That way you can tell presets apart in your analytics without tagging links by hand.
Settings reference
Unavailable links decides where a link that resolves to nothing sends the customer. It sits under Cart behaviour because it covers every refusal, including a bad slug.
For developers
cartpresets_preset_url shapes the URL a preset outputs. It doesn’t affect how an incoming request is parsed. That read path is separate, so changing one keeps the other working. See the hooks reference.