# coss.com vs Loops (https://coss.com/compare/loops)

> Loops runs marketing, product and transactional email from one contact record, with workflows. coss.com adds receiving, sub-accounts and SMS.

Loops is email for SaaS teams: campaigns, event-triggered workflows and transactional messages built in its editor, priced by subscribed contacts with unlimited sends. coss.com has no workflows. It charges per recipient, sends HTML straight from your code, receives email, and puts SMS, Verify and Risk on the same API key.

Facts about Loops checked on 2026-11-03 against the sources listed below.

## At a glance

| | coss.com | Loops |
| --- | --- | --- |
| Pricing model | Per recipient, with no volume tiers to pick: $0.40 per 1,000 recipients for the first 1,000,000; $0.30 per 1,000 recipients from 1,000,001 to 10,000,000; $0.22 per 1,000 recipients beyond 10,000,000. Paid plans start at $25/month, all of it spendable on usage | By subscribed contacts, with unlimited sends and no seat fees: Growth from $49/month for up to 5,000 contacts, Enterprise custom from 1.5 million |
| Free tier | Free plan: 3,000 email recipients a month, 3,000 received emails a month and 3 inboxes; 1 sending domain; 1,000 contacts per environment | 4,000 sends per rolling 30 days to your first 1,000 contacts, marketing and transactional together, with a Powered by Loops footer |
| Transactional email | REST API and an SMTP relay (smtp.coss.com), batch and scheduled sends, idempotency keys, templates with versions and locales | API or SMTP, always through a template published in Loops (SMTP carries JSON naming it, not HTML); opens and clicks aren't tracked |
| Attachments | Up to 20 per email, 25 MB combined | Not generally available: Loops enables them on request; requests under 4 MB |
| Marketing email | Contacts with custom properties, audiences, segments, topics with a hosted preference center and double opt-in, broadcasts on a separate marketing stream | Campaigns, segments, mailing lists with a preference center, signup forms, and double opt-in for form signups |
| Automation | — | Workflows started by a new contact, a property change, a list join or your own events, with timers, branches, filters and experiments |
| Receiving email | Every environment has its own address under coss.com's inbound domain, or receive at your own domain with one MX record; an email.received webhook, content and attachments through the API | — (Loops' own guide sends inbound processing to other providers) |
| Other channels | SMS, Verify (one-time codes), Hooks (webhooks as a service) and Risk on the same API key and SDK | Email only, by its own description |
| Multi-tenant sending | Sub-accounts on Scale and Enterprise: each with its own domains, SES tenant, reputation, quotas and suppression list (transactional email) | — (Not found in Loops' docs) |
| SDKs | TypeScript, plus generated SDKs for Python, Go, Ruby, PHP, Java and .NET; Laravel, Rails and Django mail drivers; a CLI and an MCP server | Go, JavaScript, Nuxt, PHP and Ruby; a CLI, agent skills and an MCP server; SMTP guides for Django, Laravel and Rails |
| Webhooks | Standard Webhooks signatures, automatic retries, test events and `coss listen` to forward events to localhost | Webhook-Id, Webhook-Timestamp and Webhook-Signature headers (HMAC-SHA256); 8 attempts over about 28 hours; an endpoint is disabled after 5 days of failures |
| Testing | Sandbox environments with coss_test_ keys: the same API, nothing leaves coss.com | Sends to @example.com and @test.com addresses succeed with no email delivered |

## When Loops is the better choice

- **You want event-triggered sequences.** Loops workflows start from your events or contact changes and run emails, timers, branches and experiments. coss.com's marketing email is broadcasts you write and schedule.
- **You send a lot to few contacts.** Loops charges by subscribed contacts with unlimited sends and no seat fees. coss.com bills every recipient, so frequent email to a small list costs more as you send more.
- **Non-engineers write the emails.** Loops' editor lets your team build and publish campaigns and transactional messages, with forms and no deploy. coss.com's templates are HTML and text, with variables.
- **You connect tools without code.** Loops has integrations with Stripe, Supabase, Zapier, Clerk, PostHog and others.

## When coss.com is the better choice

- **Your code sends the email.** Pass HTML, text or a React Email component straight to coss.email.send(), with attachments, and no template to publish first. Templates are there when you want them.
- **You receive email too.** Every environment can receive email, and inboxes give AI agents their own addresses, with threads and replies from the same address.
- **Email is one channel of several.** SMS, one-time codes (Verify), Hooks and Risk use the same API key, SDK, webhooks and logs as email.
- **You send for your own customers.** Sub-accounts on Scale and Enterprise each get their own domains, SES tenant, reputation, quotas and suppressions.
- **Tracking on transactional email.** Turn on open and click tracking for an environment or one category of email, on your own domain if you like. Loops doesn't track them on its transactional messages.

## Moving from Loops

1. **Add and verify your domain.** There is no importer for Loops: the dashboard's importer covers Resend, SendGrid and Postmark. Add your domain in coss.com and publish its DNS records, keeping Loops' until you switch. (/docs/email/domains)
2. **Bring over contacts and lists.** Export your audience from Loops as CSV and import it on the Contacts page (up to 10,000 rows, with a status column) or with coss.email.contacts.import. Contact properties become custom properties, mailing lists become topics or audiences, and filters become segments. An import never re-subscribes someone who unsubscribed. (/docs/email/contacts)
3. **Recreate templates.** A Loops transactional email becomes a coss.com template, or HTML from your code. Its transactionalId and dataVariables map to template_id and variables, and each variable is declared on the template. (/docs/email/templates)
4. **Replace workflows and webhooks.** coss.com has no workflows: campaigns become broadcasts, and workflow emails move into your own code, on the events you already send to Loops. Update your webhook handler to coss.com's events; Standard Webhooks verification should look familiar. (/docs/email/broadcasts)

## Frequently asked questions

### Is there an importer for Loops?

No. The dashboard's importer covers Resend, SendGrid and Postmark. From Loops, add your domain, import your contacts as CSV or through the API, recreate your templates and switch your sending code.

### Does coss.com have workflows like Loops?

No. coss.com has no automation workflows. Marketing email is broadcasts to audiences and segments, and any sequence runs from your own code, using scheduled sends up to 30 days ahead if you want.

### How does pricing differ from Loops?

Loops charges by subscribed contacts with unlimited sends. coss.com charges per recipient, with a contact limit set by the plan, and a paid plan's fee is credit spent on usage. Which is cheaper depends on how often you email your list.

### Can I send transactional email without a template?

Yes. coss.email.send() takes HTML, text or a React Email component directly, and SMTP takes an ordinary message. Templates are optional.

### Can coss.com receive email?

Yes. Each environment has an address under coss.com's inbound domain with no DNS setup, or you can receive at your own domain with an MX record. Each message triggers an email.received webhook and stays readable through the API.

## Sources

- [Loops pricing](https://loops.so/pricing)
- [Loops docs](https://loops.so/docs)
- [Loops docs: transactional email](https://loops.so/docs/transactional)
- [Loops docs: attachments](https://loops.so/docs/transactional/attachments)
- [Loops docs: SMTP](https://loops.so/docs/smtp)
- [Loops docs: workflows](https://loops.so/docs/workflows)
- [Loops docs: webhooks](https://loops.so/docs/webhooks)
- [Loops docs: mailing lists](https://loops.so/docs/contacts/mailing-lists)
- [Loops: double opt-in](https://loops.so/changelog/double-opt-in)
- [Loops docs: CSV upload](https://loops.so/docs/add-users/csv-upload)
- [Loops: best email marketing automation platforms](https://loops.so/resources/best-email-marketing-automation)
- [Loops: best transactional email services](https://loops.so/resources/best-transactional-email-services)