Our verdict: one upsert module, one consent check, one test
For most small lists, the right scenario is short: a form sends a webhook to Make, a filter checks that the consent box was ticked, and MailerLite's Create/Update a Subscriber module adds or updates the person. Make's MailerLite app lists that module alongside Add Subscriber to a Group, Get a Subscriber and Watch Subscriber Events [1]. You do not need a search step first, because the update behaviour is built into the call.
We have not run this scenario. The behaviour described here comes from Make's app documentation and MailerLite's API reference, which describes the endpoint Make's module is named after. Run the test cases at the end of this guide with your own address before pointing a live form at it.
Pick the right MailerLite app and connect it
Make documents two separate apps. MailerLite Classic supports only API v1, and its token is created under Integrations, Developer API [2]. The newer MailerLite app asks you to generate a new API token, name it and paste it into the API Key field in Make [1]. MailerLite's API documentation says keys are sent as a bearer token [3], so treat the token like a password: store it only in the Make connection, never in a sheet or a scenario note.
Some official Make templates still use MailerLite Classic; for example, the Facebook Lead Ads to MailerLite and HubSpot template lists MailerLite Classic as its app [4]. If your account is on the newer MailerLite, swap those modules before running the template.
| Module (MailerLite app in Make) | Use it for | Credits per run (estimate) |
|---|---|---|
| Create/Update a Subscriber | Adding or updating a person from a form | 1 |
| Add Subscriber to a Group | Adding group membership as a separate step | 1 |
| Get a Subscriber | Reading an existing record before a decision | 1 |
| Remove Subscriber from a Group | Moving someone out of a nurture group | 1 |
| Watch Subscriber Events | Starting another scenario when MailerLite records an event | 1 per run |
Why Create/Update avoids duplicates, and what it can overwrite
MailerLite's subscriber endpoint is an upsert. Its documentation says: if a subscriber already exists, it will be updated with new values [5]. It returns 201 when a new subscriber is created and 200 when an existing one is updated [5]. Fields you leave out are not changed, and the groups array only adds memberships; omitting groups does not remove existing ones [5].
That last point is the real risk. If a returning visitor submits the form with a blank company field and you map that blank into MailerLite, you may replace a good value with an empty one, depending on how the module treats empty values. Add a Make filter or use an if-empty fallback so you only send fields that contain data. Keep email addresses lowercase and trimmed before mapping; it costs nothing extra because it is a function inside the mapping, not a separate module.
Map fields and consent deliberately
MailerLite's API accepts a status for the subscriber (active, unsubscribed, unconfirmed, bounced or junk), consent timestamps (subscribed_at and opted_in_at in yyyy-MM-dd HH:mm:ss format) and IP addresses (ip_address and optin_ip) [5]. If your form records when and from which IP the person ticked the consent box, map those values; they are the record you will want if someone later asks how they were added.
MailerLite's import guidance is blunt: be sure every subscriber added to your account has given consent to receive marketing emails [6]. The same principle applies to automated adds. Put the consent checkbox in the form, send its value in the webhook, and add a filter so only submissions with consent reach the MailerLite module. If you use double opt-in, send new people with the unconfirmed status and let your confirmation process do the rest; our opt-in guide compares the two approaches.
| Form field | MailerLite field | Rule |
|---|---|---|
| email (required) [5] | Trim spaces and lowercase before mapping | |
| First name | fields.name | Send only if not blank |
| Consent checkbox | Not sent; used in a Make filter | Stop the run if unticked |
| Consent time | opted_in_at [5] | Format as yyyy-MM-dd HH:mm:ss |
| Visitor IP (if collected) | optin_ip [5] | Only if your privacy notice covers it |
| Interest choice | groups [5] | Add-only; removing needs a separate module |
Credits per new subscriber and per month
Make's operations page counts one operation per module run per bundle, and a trigger once per check [7]. Its billing FAQ says most actions consume 1 credit and that routers and error handlers do not consume credits [8]. With a webhook trigger, the scenario only runs when the form is submitted.
Worked example (assumptions labeled): 250 form submissions a month, 20 of them without consent. Webhook: 250 credits. Create/Update: 230 credits. Total about 480 credits, within the Free plan's 1,000 monthly credits [8] if nothing else runs on the account. Adding a separate Add Subscriber to a Group step would add another 230. If you replace the webhook with a scheduled check of a form app every hour, add 720 credits a month for the checks alone.
MailerLite's own limits matter too: its pricing page lists the Free plan at 250 subscribers and 2,500 monthly emails, with paid Comfort plans starting at $12 per month [9]. The API has a global rate limit of 120 requests per minute [3], which only matters if you bulk-load an old list through Make.
| Scenario shape | Credits per consenting sign-up | 250 sign-ups / month |
|---|---|---|
| Webhook + filter + Create/Update | 2 (filter is not a module) | About 480 (230 consenting + 250 webhook runs) |
| Webhook + Create/Update + Add to Group | 3 | About 710 |
| Hourly polling trigger + Create/Update | 1 per new person + 720 checks | About 950 |
Test cases before going live
- New address with consent: expect a new subscriber (MailerLite returns 201) in the right group.
- Same address again with a changed name: expect one record with the new name (200), not a second subscriber.
- Same address with a blank optional field: confirm the existing value was not erased.
- Submission without consent: expect the run to stop at the filter and nothing to reach MailerLite.
- An address that previously unsubscribed: confirm the scenario does not resubscribe them; MailerLite only does that when resubscribe is set to true [5].
- Invalid email: expect a 422 validation error [5]; add an error handler that logs it rather than retrying forever.
Watch demos / Official walkthroughs
See how the tools work.
Videos load from YouTube only when you press play. These are provider videos, not our own product tests.

Make / Official video
Make—Building Your First Automated Workflow from Scratch
What to look for: Follow how modules connect and how data moves through the first workflow.
Watch on YouTubeQuestions before you decide
Will Make create a duplicate subscriber if someone signs up twice?
Not if you use Create/Update a Subscriber. MailerLite's API documentation says that if a subscriber already exists, it will be updated with new values, returning 200 for an update and 201 for a new subscriber. Because the call matches on email, the bigger risk is overwriting fields you meant to keep.
Which MailerLite app should I pick in Make?
Make lists two: MailerLite and MailerLite Classic. Make's Classic documentation says it supports only API v1. Choose the one that matches the MailerLite account you log in to, and create the API token in that account.
Can Make re-subscribe someone who unsubscribed?
MailerLite's API has a resubscribe option that must be set to true to resubscribe previously unsubscribed subscribers. Leave it off for ordinary form syncs; an unsubscribe should only be reversed by the person's own new, clear opt-in.
Sources & verification
Product details and prices can change. Check the linked provider before buying.
- Make apps documentation: MailerLite Accessed 29 Oct 2026
- Make apps documentation: MailerLite Classic Accessed 29 Oct 2026
- MailerLite API documentation: authentication and rate limits Accessed 29 Oct 2026
- Make template: Facebook Lead Ads lead to MailerLite and HubSpot CRM Accessed 29 Oct 2026
- MailerLite API: Subscribers (create/upsert) Accessed 29 Oct 2026
- MailerLite Help: How to import subscribers Accessed 29 Oct 2026
- Make Help Center: Operations Accessed 29 Oct 2026
- Make pricing and billing FAQ Accessed 29 Oct 2026
- MailerLite pricing Accessed 29 Oct 2026
Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.
