---
title: "After sending - Workflow Forms"
description: "Choose what a visitor sees after sending a form: a message with an optional discount code, or a redirect. Plus the tracking events for Google Tag Manager and pixels."
canonical: "https://docs.workflow-forms.app/after-sending"
---

# After sending: message, discount code and redirect

After a visitor sends a form, you either show a message or send them to another page. Set it in the form editor under **Form settings**, tab **General**, group **After sending**.

## Show a message

Choose **Show a message** and write the **Message after sending**. The message replaces the form once the submission is accepted.

The message can contain Liquid and simple HTML, for example your shop's name, the first name of a logged-in customer or a link. See [Liquid and HTML in your texts](https://docs.workflow-forms.app/liquid-and-html-in-texts.md).

### Discount code (optional)

Enter a code in **Discount code (optional)** and it is shown with the message, after the words "Your discount code:".

- Create the code in **Discounts** in your Shopify admin first. Workflow Forms shows the text you entered; it does not create or check the discount.
- Every visitor who sends the form sees the same code.

## Go to another page

Choose **Go to another page** and fill in **Page**:

- A page of your shop, as a path: `/pages/thank-you`. It opens in the visitor's language.
- Or a full `https://` link.

In the editor's **Test like a visitor** mode a redirect is not followed; the preview tells you where visitors would go instead.

## Per language

The message and the redirect page can be translated per language in the translate view. An empty redirect in a language uses the page of the main language. See [Languages](https://docs.workflow-forms.app/languages.md).

## Track sent forms (Google Tag Manager, pixels)

Each accepted submission is announced on the page, so you can count conversions.

For Google Tag Manager or your theme's code, the page receives the event `workflow-forms:submitted` with the form handle and the submission ID:

```js
document.addEventListener("workflow-forms:submitted", (e) => console.log(e.detail))
```

Custom pixels in **Settings > Customer events** receive the same as the custom event `workflow_forms_submitted`:

```js
analytics.subscribe("workflow_forms_submitted", (event) => { /* event.customData.handle */ })
```

The events carry no submitted value and no personal data, only the form handle and the submission ID. The same snippets are on the app's **Help** page.

## What happens when a submission is refused

The form is checked on our server when it is sent, not in the visitor's browser.

- Invalid values or a blocked email domain: the server answers with the errors, the form stays open and shows them at the fields, in the visitor's language. On a multi-step form it jumps to the first step with an error.
- Too many attempts from one visitor: "Too many attempts. Please wait a moment and try again."
- Your plan's submissions are used up: the form cannot be sent and the visitor sees an error. See [Plans and pricing](https://docs.workflow-forms.app/plans-and-pricing.md).

Refusals can start a workflow of their own. See [Shopify Flow triggers](https://docs.workflow-forms.app/shopify-flow-triggers.md).

## Next steps

- [Shopify Flow triggers](https://docs.workflow-forms.app/shopify-flow-triggers.md) - act on each submission.
- [The submissions inbox](https://docs.workflow-forms.app/submissions-inbox.md) - read what was sent.
