Skip to content

API & integrations

Connecting MailWizz step by step

How to give every MailWizz subscriber a personal link on your domain, protected by the Anti-Bot filter. About 15 minutes the first time, then two commands before each campaign.

Create fresh codes for every campaign. A code lives 60 days and opens the page up to 3 times, so a link saved into a subscriber field once and reused for months will stop working.

Even simpler: a link with tag

If you do not want to export and import lists, turn on "Link with tag" on the link card and put one address into the letter — MailWizz appends each subscriber's tag after r=, and the personal code is created on the first click.

<a href="https://YOUR-DOMAIN/CODE?r=[EMAIL]">…</a>

Needs agent 2026.10.18-1 or newer. Each new subscriber who clicks costs 1 link, like any code. Check the exact subscriber tag in your platform's list of available tags.

1Create the {field} field

Open Lists → your list → Fields and add a Text field. Label — anything, e.g. "Personal link"; Tag: CL_LINK.

2Get a link and a key

In your createlink.link dashboard create the link the campaign should lead to, or use an existing one — its number is LINK_ID. Then open the account menu → API and create a key named "MailWizz" — that is YOUR_KEY.

3Export the recipients from MailWizz

Export the list or segment you are going to send to as a CSV file and save it as export.csv. Note which column holds the email, counting from 1.

4Create the codes

Send the file to createlink.link. Replace LINK_ID and YOUR_KEY; if the email is not in the first column, change column=1.

curl -X POST "https://createlink.link/api/v1/links/LINK_ID/codes?column=1&skip_header=1" \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: text/csv" \
  --data-binary @export.csv

The answer contains job_id. Up to 1,000 recipients are ready at once; a bigger list takes from a few seconds to a couple of minutes.

5Download the file for MailWizz

Put the job_id into the command. The file comes out with the column names MailWizz expects.

curl "https://createlink.link/api/v1/jobs/JOB_ID?format=csv&columns=EMAIL:ref,CL_LINK:url" \
  -H "Authorization: Bearer YOUR_KEY" -o links.csv

If the batch is still running, you get a short message with "status": "running" instead of a file — repeat the command in a minute.

6Import the file into the same list

Open your list → Import → CSV and upload links.csv. MailWizz matches subscribers by email: existing ones get the new link, nobody is duplicated. Developers can do the same through the MailWizz API by updating the subscriber with data[CL_LINK].

7Put the link into the letter

In the campaign template use the tag [CL_LINK] as the link address. It shows up among Available Tags only if the field exists in the list chosen for the campaign:

<a href="[CL_LINK]">…</a>

8Turn off URL tracking

In the campaign options set URL tracking to "no" (in the MailWizz API — options[url_tracking]=no). Otherwise MailWizz replaces your link with its own tracking address, and recipients see its domain instead of yours.

9Send a test to yourself

Add your own address to the list before step 3, send a test and check: the link in the letter starts with your domain, and clicking it opens your page. Only then send the campaign.