# MAALI

> MAALI is the AI marketing team for Shopify stores: a free Store Brain and SEO check, articles in your brand voice, and outreach that finds customers. You approve everything.

MAALI is the AI marketing team for Shopify stores, with an outreach agent for agencies and freelancers who sell services to Shopify stores. It works from public storefront data only (no app install, no store access) and a human approves everything before it's used or sent.

For store owners (marketing):
1. Store Brain (free): the merchant enters their Shopify store's address. MAALI reads the public catalog (products, prices, photos, descriptions), apps, theme and pages, runs a rule-based health check (photos per product, description length, reviews app, email/SMS capture, homepage SEO basics, social links, number of apps, catalog freshness), finds 3 competitors with web search and reads them, then writes five editable documents: store profile, customers and positioning, competitors (with a "where you can win" section), brand voice, and a 30-day marketing plan, plus the top opportunities. Every MAALI agent works from these documents. Takes about 2 minutes.
2. SEO check (free): homepage plus a sample of product and collection pages (titles, meta descriptions, H1, image alt text, share images, duplicate titles, thin product copy, collection descriptions), sitemap and blog. Score out of 100 with fixes ranked by impact.
3. Article ideas: web research into what the store's customers search for and what ranks, then 8 specific topics with a search phrase, intent and outline, skipping what the blog already covers. No invented search volumes.
4. Writer: one article per idea (about 900-1,300 words) in the store's brand voice, using only facts from the Store Brain and linking only to the store's real collections and products, with an SEO title, meta description and URL handle. Merchants edit and paste it into their Shopify blog.
Coming next: one-click publishing to Shopify and WordPress, social posts, AI search visibility (GEO), email flows, product photos and video.

For agencies, app developers and freelancers (MAALI Outreach):
1. The user describes their offer: MAALI reads their website and fills it in, or they start from one of 16 templates (photography, UGC, branding, copywriting/SEO, email/SMS, paid ads, influencer, agency/CRO, speed, theme development, app developers, reviews, subscriptions, support, localization, bookkeeping).
2. "Find stores" uses web search to find Shopify stores matching the ideal customer and verifies each one (live Shopify store, public catalog, published business email). Users can also paste domains or upload a CSV.
3. Free filters run first and cost nothing: robots.txt, published business email, do-not-contact list, countries, minimum products, recent activity, photos per product, description length, and apps the store uses or doesn't use (24 common Shopify apps and pixels are detected).
4. MAALI reads each remaining store's storefront, scores fit from 0 to 100 with reasons, and drafts a specific first email and one follow-up.
5. The user approves each draft; MAALI sends it from the user's own mailbox on weekdays in business hours, follows up once, and stops when the store replies.

Teams: workspaces with owner and member roles. Members run campaigns, marketing agents and mailboxes; owners also manage billing, people and permissions.

Safeguards: public business data only, robots.txt respected, nothing invented in documents or articles, a human approves every first email and every article, unsubscribe links and one-click unsubscribe headers, automatic do-not-contact on "no", bounces and opt-outs, and a public opt-out for store owners at https://maali.si/bot.

Pricing (USD): one set of credits works across every agent, with no daily limits. Store Brain: first build per person free, rebuilds 5 credits. SEO check: free. Article ideas: 4 credits per batch of 8. Article: 2 credits. Outreach store research: 1 credit (stores failing the free filters cost nothing). Find stores: 3 credits per search (up to 25 verified stores). Website autofill: first 3 free, then 1 credit.
- Free: Store Brain, SEO check and 10 credits, valid 30 days, no card required; in Outreach the first 3 drafted stores are shown in full
- Solo: $9/month, 30 credits a month, 1 mailbox, 1 team member
- Growth: $29/month, 110 credits a month, 3 mailboxes, 3 team members
- Agency: $79/month, 300 credits a month, 10 mailboxes, 10 team members
Sending, follow-ups and reply detection are included. Plan credits don't roll over.

Contact: hello@maali.si

---

# Getting started with your Store Brain

Source: https://maali.si/resources/store-brain

Your Store Brain is everything MAALI learns about your Shopify store, written up so you (and every MAALI agent) can act on it. Your first build is free, and it takes about two minutes.

## 1. Build it

1. Sign up and open **Marketing**.
2. Enter your store's address, for example `yourstore.com` or `yourstore.myshopify.com`.
3. Click **Build my Store Brain**. You can leave the page; it's ready in about two minutes.

MAALI only reads your public storefront, the same pages a shopper or search engine sees. You don't install an app or give access to your admin, and nothing on your store changes.

## 2. Read your health check

The **Store health** panel lists what's most likely costing you sales, ranked by impact:

- **Photos:** what share of products have only one photo.
- **Descriptions:** how long your product descriptions are on average.
- **Reviews:** whether a reviews app shows customer reviews.
- **Email capture:** whether an email or SMS platform is collecting visitors who aren't ready to buy.
- **SEO basics:** your homepage title, meta description and main heading.
- **Social and apps:** linked social profiles, and how many apps load on your homepage.

Each finding names the agent that fixes it. Some are live today (SEO and Writer); others are coming soon.

## 3. Read your documents

Your Store Brain has five documents, as tabs:

| Document | What it's for |
| --- | --- |
| 30-day plan | Weekly tasks a small team can do, highest impact first |
| Store profile | What you sell, your range and prices, what stands out |
| Customers & positioning | Who buys, why, their objections, and the message that fits |
| Competitors | Three similar stores, how you compare, and where you can win |
| Brand voice | How your store sounds, with words to use and avoid |

## 4. Fix anything MAALI got wrong

MAALI says so when it's inferring something, like your likely customer. If it's wrong, click **Edit** on that document and correct it. Every agent uses your version from then on, so it's worth five minutes the first time.

You can rebuild the Store Brain when your store changes, for example after a big launch. A rebuild uses 5 credits and replaces the documents, including your edits, so copy anything you want to keep first.

## 5. Turn it into traffic

Open **Marketing → SEO**:

1. Run the free **SEO check** to see what's holding your pages back in search.
2. Click **Find article ideas** (4 credits) for 8 topics your customers search for.
3. Click **Write it** (2 credits) on the ones you like. Each article is written in your brand voice and links to your own products and collections.
4. On the article page, copy the title, article and meta description into **Shopify admin → Online Store → Blog posts → Add blog post**.

## Tips

- Start with the plan's week 1. The first tasks are usually the quickest wins (email capture, reviews, the top product pages).
- Publish one article a week rather than ten at once. Consistency matters more to search engines than bursts.
- Re-run the SEO check after you fix things to see the score move.

---

# Getting started with MAALI

Source: https://maali.si/resources/getting-started

MAALI works in four steps: describe your offer, add stores, review drafts, and send from your own inbox. Here's the fastest way through them.

## 1. Create a campaign

Go to **Campaigns → New campaign**. The quickest start is **Start from your website**: paste your company's site and MAALI reads your homepage and pricing page and fills in the offer. Or pick a template that matches what you sell.

Check two fields carefully:

- **Ideal customer**: say who it's for *and* who it isn't for. MAALI scores every store against this, so "Not stores that already have professional photos" is just as useful as the positive description.
- **Facts MAALI may state**: prices, guarantees, a free trial. MAALI never claims anything about your offer that isn't listed here.

Then set the **free filters** (countries, minimum products, how recently the store added products). Stores that fail these are skipped before any credit is used.

## 2. Add stores

On the campaign page, paste Shopify domains (one per line), upload a CSV, or use **Find stores** to let MAALI search for stores that match your ideal customer. Press **Start research**.

For each store, MAALI reads its public catalog, product photos, installed apps and contact page, then scores the fit and drafts an email. Stores below your minimum fit score are skipped.

## 3. Review drafts

Open **Review**. You'll see the store's photos, the evidence behind the fit score, and the draft. Edit anything, add your link, then **Approve** or **Skip**. Nothing is sent without your approval.

## 4. Connect a mailbox and send

Go to **Mailboxes**, type the address you send from, and follow the provider-specific steps (usually creating an app password). Then pick that mailbox under **Sending** on your campaign. MAALI sends approved emails on weekdays during business hours, spaced out, within your daily limit, and follows up once if there's no reply.

Replies and bounces are picked up automatically. Answer replies from your own inbox.

## Tips for a good first campaign

- Start with 20–30 stores in one niche, so you can see which angle works.
- Use a separate outreach address (for example on a second domain) and keep volume low at first. See [Deliverability basics](/resources/deliverability).
- Read the first five drafts closely. If they miss, sharpen your ideal customer description; it's the biggest lever on quality.

---

# Connecting your mailbox

Source: https://maali.si/resources/connect-a-mailbox

MAALI sends from your own mailbox, so replies land in your inbox and your emails look like normal one-to-one messages. You connect it once under **Mailboxes**: type the address and MAALI detects your provider and fills in the server settings.

Most providers require an **app password** rather than your normal password. It's a separate password that only works for mail apps, and you can revoke it anytime without changing your main password.

## Google Workspace and Gmail

1. Turn on **2-Step Verification** for the account.
2. Open [App passwords](https://myaccount.google.com/apppasswords), name it "MAALI" and click **Create**.
3. Paste the 16-letter password into MAALI.

If App passwords isn't available, your Workspace admin may have disabled it, or the account uses a security key only.

## Microsoft 365 and Outlook

1. Your admin must allow **Authenticated SMTP** for the mailbox (Microsoft 365 admin center → user → Mail → Manage email apps).
2. In [Security info](https://mysignins.microsoft.com/security-info), add an **App password**.
3. Paste it into MAALI.

## Zoho Mail

1. In Zoho Mail settings, turn on **IMAP access**.
2. Generate an **app password** under Security.
3. Paste it into MAALI. EU and India accounts use the `.eu` / `.in` servers; MAALI picks these automatically when it can.

## Hostinger, Titan, Namecheap and other hosts

Use the mailbox password you set in your hosting panel. MAALI fills in the servers; if your provider isn't detected, find its "mail client settings" (SMTP and IMAP server, port) and enter them under **Advanced**.

## What MAALI does with access

- **Sends** only the emails you approved, plus one follow-up.
- **Reads** new incoming mail only to spot replies and bounces to those emails. Other mail is never stored.
- Stores the password **encrypted**. You can pause or remove the mailbox anytime.

## Troubleshooting

- **"Login failed"**: you probably used your normal password instead of an app password, or IMAP is turned off.
- **"Couldn't reach the server"**: check the server name and port under Advanced.
- **Paused mailbox**: if a password stops working, MAALI pauses the mailbox and shows a message. Click **Reconnect** after fixing it.

---

# Writing an offer MAALI can sell

Source: https://maali.si/resources/write-a-good-offer

Draft quality depends mostly on four fields in your campaign. A few minutes here saves hours of editing.

## What you sell

One or two plain sentences: what it is and the result it gets. Specific beats impressive.

- Weak: "We help brands grow with world-class creative."
- Strong: "We shoot on-model product photos for Shopify fashion brands in 5 days, from $40 per product."

## Ideal customer

Describe signals MAALI can see on a store's public pages, and include who is **not** a fit.

- Good signals: number of products, how recently products were added, how many photos products have, description length, which apps the store runs, country.
- Example: "Apparel stores with 30+ products where most products have one flat-lay photo. Not stores that already have professional on-model photography."

The "not a fit" sentence is what stops MAALI from emailing stores that would ignore you.

## Facts MAALI may state

List only what's true and you're happy to see in an email: prices, turnaround, guarantees, a free trial or test. One per line. MAALI won't claim anything else about your offer, so no invented numbers or testimonials will appear.

## Call to action

Make the next step small: "a free re-shoot of one product", "a 5-minute video audit", "a free install with setup done for you". Small asks get replies; "a 30-minute call" in a first email usually doesn't.

## Check the first drafts

After researching your first stores, read five drafts. If they're generic, add more concrete signals to your ideal customer. If they claim too little, add facts to the allowed list.

---

# Deliverability basics

Source: https://maali.si/resources/deliverability

The best email doesn't help if it lands in spam. These habits protect your sending reputation.

## Use a separate outreach domain

Send outreach from a second domain (for example `getyourbrand.com` instead of `yourbrand.com`), so your main domain's reputation stays safe. Point the second domain's website to your main site.

## Set up SPF, DKIM and DMARC

Your email provider's help pages explain how to add these DNS records. They prove your emails really come from you. Google and Yahoo now require them for reliable delivery.

## Warm up slowly

New mailboxes should start low: around 10–20 emails a day in the first two weeks, then increase gradually. Set this as the mailbox's **daily limit** in MAALI. A short period of normal, real conversations from the mailbox helps too.

## Keep it relevant

Relevance is the strongest deliverability signal. Emails that get replies and don't get marked as spam build your reputation; blasts to poor-fit stores destroy it. MAALI's fit score and filters exist for exactly this reason. Keep your minimum fit score meaningful.

## Write like a person

- Plain text, short, no heavy formatting, at most one link.
- No spammy words or ALL CAPS, no fake "Re:" subjects.
- One follow-up, not five.

## Respect opt-outs

Every MAALI email includes your signature with a postal address, an unsubscribe link and one-click unsubscribe headers. "No" replies, unsubscribes and bounces are added to your do-not-contact list automatically, across all your campaigns.

## Watch your numbers

If bounces rise above a few percent or replies drop to zero, pause and check your list quality and offer before sending more.

---

# Finding stores to research

Source: https://maali.si/resources/finding-stores

## Let MAALI find stores

On a campaign, click **Find stores**. MAALI uses your ideal customer (or a few keywords you add, like "linen dresses" or "Texas boutiques") to search the web for matching Shopify stores. It then checks each candidate for free, keeps only live Shopify stores that aren't already in your campaigns or on a do-not-contact list, and adds them to the campaign.

Each search uses **3 credits** and adds up to around 25 verified stores. Describe your niche well (the Focus box helps) so each search counts. Researching each store then uses credits as usual, and stores skipped by your free filters cost nothing.

Tips:

- Be specific: niche plus product type plus place works best ("sustainable kids clothing UK").
- Run a few searches with different keywords rather than one broad one.

## Paste domains

If you already have stores in mind, paste their domains on the campaign page, one per line. Both custom domains (`examplestore.com`) and `.myshopify.com` addresses work.

## Upload a CSV

Exported a list from a spreadsheet, directory or lead tool? Click **Load from CSV**. MAALI finds the column that contains domains automatically, even if it's called "Website" or "URL".

## What MAALI does with each store

It reads only public pages: the storefront, the public product catalog, and the contact page. It respects robots.txt and store owners' opt-outs, and it only uses the business contact address the store publishes. See [MaaliBot](/bot) for details.

---

# FAQ

Source: https://maali.si/faq

## Getting started

**What is MAALI?**
The AI marketing team for Shopify stores. It studies your store and your competitors, writes your strategy and a 30-day plan, checks your SEO, and writes articles in your brand voice. For agencies and freelancers who sell to Shopify stores, MAALI Outreach finds stores that need your service and drafts researched emails. You approve everything.

**What do I get on the Free plan?**
A free Store Brain and SEO check for your store, plus 10 credits valid for 30 days, with no card needed. That's enough for a batch of article ideas and a few articles, or 10 outreach researches. In Outreach, your first 3 drafted stores are shown in full.

**How long does setup take?**
About two minutes for store owners: enter your store's address and your Store Brain is ready. For Outreach, paste your website to fill in your offer (or pick a template), and connect your mailbox when you're ready to send.

**Do I need to install an app or give MAALI access to my store?**
No. MAALI reads your public storefront the way a shopper or search engine would, and never changes anything on your store. You publish articles yourself, by pasting them into your Shopify blog.

## Store Brain, SEO and articles

**What is a Store Brain?**
Everything MAALI learns about your store, written up as five documents: store profile, customers and positioning, competitors, brand voice, and a 30-day marketing plan, plus a store health check and your biggest opportunities. Every MAALI agent works from it.

**What does the store health check look at?**
Photos per product, product description length, whether you run a reviews app and email or SMS marketing, homepage SEO basics (title, meta description, main heading), linked social profiles, how many apps load on your homepage, and how recently you added products.

**How does MAALI find my competitors?**
It searches the web for independent stores selling similar products to similar customers, then reads the public storefronts of the closest ones to compare prices, photos, reviews and email capture.

**Can I change what the Store Brain says?**
Yes. Every document is editable. Fix anything once and every agent uses your version from then on. You can also rebuild it when your store changes; your first build is free and each rebuild uses ${BRAIN_REBUILD_CREDITS} credits.

**What does the SEO check cover?**
Your homepage plus a sample of product and collection pages: titles, meta descriptions, main headings, image alt text, share images, duplicate titles, thin product copy, collection descriptions, your sitemap and your blog. It's free, with a score out of 100 and fixes ranked by impact.

**How are article ideas chosen?**
MAALI searches what your customers ask and what ranks today, then suggests specific topics your store can realistically rank for, each with a search phrase, an outline and the reason it fits. It skips topics your blog already covers. It doesn't invent search volumes.

**Will the articles be accurate?**
Articles use only facts from your Store Brain and link only to your real collections and products. MAALI never invents statistics, reviews, quotes, prices or guarantees. Read and edit every article before you publish it.

**How do I publish an article?**
Copy the title, article and meta description from MAALI into Shopify (Online Store, Blog posts, Add blog post). One-click publishing to Shopify and WordPress is coming next.

## Outreach: finding and researching stores

**Where do the stores come from?**
MAALI can find them for you: describe your niche (or leave it to your ideal customer) and it searches the web for matching Shopify stores, then checks each one is a live Shopify store that publishes a business email. You can also paste domains or upload a CSV.

**How much does Find stores cost?**
3 credits per search, and each search adds up to 25 verified stores.

**What are filters?**
Free checks that run before any credit is used. A store is skipped at no cost if it blocks MaaliBot, publishes no business email, is outside your countries, has too few products, hasn't added a product recently, or fails your catalog and app rules (photos per product, description length, apps it uses or doesn't). After research, stores below your minimum fit score get no draft.

**Is there a limit on how many stores I can add?**
Yes, per rolling 30 days, counting pasted, CSV and Find stores: Free 30, Solo 150, Growth 500, Agency 1500. Credits are only used when a store is researched.

**What does MAALI look at on each store?**
Its public storefront: product catalog, photos and descriptions, how recently products were added, detected apps and theme, country, and the business contact email the store publishes.

**What is the fit score?**
A score from 0 to 100 for how well a store matches your ideal customer, with the reasons behind it. You set the minimum per campaign; 40 is balanced, 60 and up is strict.

**Do you scrape personal emails?**
No. MAALI only uses the contact address a store publishes on its own website, follows robots.txt, and honours opt-outs from store owners.

**Does it only work for Shopify stores?**
Yes, for now. MAALI is built around Shopify's public catalog, which is what makes its research specific.

## Outreach: emails and sending

**Will MAALI send emails without me?**
No. You approve every first email. Follow-ups go out only for emails you approved, and stop as soon as someone replies.

**Which email accounts work?**
Google Workspace, Microsoft 365, Zoho, Hostinger, Titan, Namecheap, Fastmail, iCloud, Yahoo and most providers that support SMTP and IMAP.

**When are emails sent?**
On weekdays between 8:00 and 18:00 in your mailbox's time zone, spaced out across the day, within the daily limits you set for the mailbox and the campaign.

**What happens when someone replies?**
MAALI marks the store as replied and stops follow-ups. If they say no or ask to stop, they're added to your do-not-contact list automatically. You answer replies from your own inbox.

**Will my emails land in spam?**
Relevance and low volume help most, and MAALI is built for both. Use a separate outreach domain, set up SPF/DKIM/DMARC, and warm up slowly. See our deliverability guide.

## Credits and billing

**What is a credit?**
One currency for every MAALI agent. An article uses 2 credits, a batch of 8 article ideas 4, and researching one store for outreach 1. A Find stores search uses 3, and a Store Brain rebuild 5. Your first Store Brain and the SEO check are free, and stores that fail your free outreach filters cost nothing. There are no daily limits: credits are the only limit.

**How much does MAALI cost?**
Free to start, then Solo $9/month (30 credits), Growth $29/month (110 credits), Agency $79/month (300 credits). Sending, follow-ups and reply detection are included in every plan.

**What happens to locked drafts when I upgrade?**
They unlock straight away. On the Free plan your first 3 drafts are readable in full and the rest wait, already researched, until you choose a plan.

**Do unused credits roll over?**
No. Plan credits last until the end of each billing month; free credits last 30 days.

**Can I cancel anytime?**
Yes, from Billing. Your plan stays active until the end of the month you've paid for.

**Are free credits per workspace?**
Free credits are per person: you get them once, with your first workspace. Paid plans and their credits belong to each workspace.

## Teams, privacy and store owners

**Can my team use MAALI?**
Yes. Growth includes 3 seats and Agency 10. Invite teammates from Settings and choose their permission.

**What can members and owners do?**
Members run campaigns: find stores, review and approve drafts, send and connect mailboxes. Owners can also manage billing, invite and remove people, change permissions and rename the workspace. A workspace always has at least one owner.

**Can I manage several businesses or clients?**
Yes. Create a workspace for each; each has its own campaigns, mailboxes and plan.

**I'm a store owner and got an email from someone using MAALI. How do I stop it?**
Click the unsubscribe link in the email, or opt out of all MAALI outreach on our MaaliBot page. Both work immediately.

---

# Shopify SEO checklist: 10 fixes that matter more than anything else

Source: https://maali.si/blog/shopify-seo-checklist

Most Shopify SEO advice is either too technical or too vague. For a small store, a short list of fixes makes most of the difference, and most of them are about writing, not code. Here's the checklist we use when MAALI checks a store, in rough order of impact.

## 1. Give every product a real description

Thin descriptions are the most common SEO gap on Shopify. A product page with one line of copy gives search engines almost nothing to rank, and gives shoppers no reason to buy.

Aim for 150 to 300 words on your main products: what it is, materials, fit or size, how to use or care for it, and who it's for. Write for the shopper; the right words for search follow naturally.

## 2. Add an intro to every collection

Collection pages are where many shoppers land from search ("linen dresses", "western graphic tees"). If a collection is just a grid of products, it has nothing to rank with. Add two to four sentences at the top saying what's in it and who it's for, using the words a shopper would search.

## 3. Write meta descriptions on purpose

Shopify fills product meta descriptions from the product description. If that's one line, your search snippet is too. In **Search engine listing** on each product and collection, write 140 to 160 characters: the product, a benefit, and a reason to click.

## 4. Keep titles short and specific

Page titles over about 60 characters get cut off in results. Lead with the product or category, then the store name: "Linen Wrap Dress in Sage | Juniper & Pine" beats a long list of keywords.

## 5. One main heading per page

Each page should have one H1 that says what the page is about. Most themes handle this for products, but custom homepages and landing pages often have none, or several.

## 6. Describe your images

Alt text describes images for search engines and screen readers, and image search sends real traffic to product stores. "Sage linen wrap dress, side view" is better than "IMG_2041" or nothing at all.

## 7. Don't duplicate titles

When two pages share a title, they compete with each other. It happens with variants, tag pages and copied collections. Give each page its own title and meta description.

## 8. Check your sitemap and robots.txt

Shopify creates `yourstore.com/sitemap.xml` automatically. Submit it in Google Search Console so new products are found quickly, and make sure no app or edit to robots.txt is hiding pages you want indexed.

## 9. Start (or restart) a blog that answers real questions

Product pages rank for product searches. A blog lets you rank for the questions shoppers ask before they buy: how to style it, how to care for it, which one to choose. Pick specific, long-tail topics tied to your categories, and link each article to the products it mentions.

Many stores started a blog years ago and stopped. Search engines notice fresh, useful content; one good article a week beats ten at once.

## 10. Make pages fast enough

Every app adds scripts that can slow your store down, especially on mobile. Remove apps you no longer use, compress large images, and avoid stacking several page builders.

## How MAALI helps

MAALI's free SEO check reads your homepage and a sample of product and collection pages, and scores the store on this list, with fixes ranked by impact. Then it suggests articles your customers actually search for and writes them in your brand voice, linking only to your real products. You read, edit and publish.

---

# How to find Shopify stores by the apps they use (and why it beats any lead list)

Source: https://maali.si/blog/find-shopify-stores-by-app

Every Shopify store leaves clues in its own page source. The reviews widget, the email popup, the subscription button and the ad pixels all load scripts with recognizable names. Read those, and you know a lot about a store before you ever write to it.

For anyone selling to Shopify merchants, that's the most useful targeting signal there is. It tells you three things a generic lead list can't.

## 1. What the store already has

If you sell a reviews app and the store already runs Judge.me, Yotpo or Okendo, your email starts uphill: you're asking them to switch, not to start. That can still work, but it's a different pitch with a different offer.

If you run an email marketing agency and the store has no Klaviyo, Omnisend or Privy, there's probably no welcome series, no abandoned-cart flow, nothing. That's a gap you can name in one sentence.

**Rule of thumb:** skip stores that already have what you sell, unless your pitch is specifically about switching.

## 2. What the store is missing

Absence is as useful as presence. Some combinations that point to clear opportunities:

- **Ad pixel but no email platform.** They pay for traffic and let it leave without capturing anything. Strong fit for email and SMS agencies.
- **Consumable products but no subscription app.** Coffee, supplements, skincare or pet food with no subscribe-and-save. Fit for subscription apps and retention agencies.
- **Lots of products but no reviews app.** Fit for reviews apps and for agencies doing conversion work.
- **Page builders like PageFly, Shogun or GemPages.** Often heavy pages and slow loads. Fit for speed optimization and custom theme development.

## 3. How much the store spends

Apps cost money. A store running a paid reviews app, a helpdesk and a subscription tool is spending real money every month on its store. That's a merchant who pays for tools that work, which is exactly who you want to reach.

A Meta or TikTok pixel is the clearest signal of all: the store is buying ads today. If you sell anything that makes ad spend work harder, from creative to landing pages, that's your list.

## How to check apps by hand

You can do this in a browser:

1. Open the store's homepage.
2. View the page source (Ctrl+U or Cmd+Option+U).
3. Search for names like `klaviyo`, `judge.me`, `yotpo`, `recharge`, `gorgias`, `fbevents` (the Meta pixel) or `pagefly`.

It works, but it takes a couple of minutes per store. That's fine for ten stores and painful for two hundred.

## How MAALI does it

MAALI reads the same public page source when it researches a store and detects the most common Shopify apps and pixels automatically. You can use them as free filters on any campaign:

- **Skip stores already using** an app, for when they already have what you sell.
- **Only stores using** an app, for services built on top of a tool, like an ads agency targeting stores with the Meta Pixel.

Because these checks run before the AI research step, stores that fail them cost nothing. And when a store passes, the detected apps go into the draft email as evidence: "I noticed you run Klaviyo but there's no welcome popup on the homepage" is a much better opener than "I help brands grow."

## A note on what not to do

App detection reads public code that every visitor's browser downloads. It doesn't involve logging in, guessing URLs or collecting anyone's personal data. Keep it that way: use what a store shows the world, respect robots.txt, and email only the business contact address the store publishes.

**Next step:** if you want a ready-made setup, the email marketing, reviews, subscriptions and paid ads templates in MAALI come with these app filters already set.

---

# 6 cold email templates for selling to Shopify stores (that actually mention the store)

Source: https://maali.si/blog/shopify-cold-email-templates

A template is only as good as the observation you put in it. Every template below has one slot that matters more than the rest: **[what you noticed]**. Fill it with something specific and true about the store, and the rest of the email can stay short.

Each template follows the same shape: one observation, one sentence on why it matters, one small offer, and an easy way to say no.

## 1. Product photography

> **Subject:** The [product name] photos
>
> Hi [store name] team,
>
> I was looking at your new arrivals and noticed [product name] and [product name] each have a single photo on a white background, like most of the catalog.
>
> For [category], shoppers usually want to see how it looks in use before they buy. We shoot [style] photos for Shopify stores like yours.
>
> Happy to re-shoot one product free so you can compare side by side. Worth a try?
>
> [Name], [Company]

**What to observe:** photos per product, flat-lays versus lifestyle shots, products with no photo at all.

## 2. Shopify app developer

> **Subject:** [Problem] on [store name]
>
> Hi [store name] team,
>
> I noticed [what you noticed, e.g. you have 140 products but no reviews showing on any product page].
>
> [App name] fixes that in about [time]: [one-line result]. It works with [their theme or an app they already run].
>
> If it's useful, I can set it up for you free and you can decide after a week. Should I?
>
> [Name], [App name]

**What to observe:** apps they run, apps they don't, and the visible gap your app closes.

## 3. Shopify agency or CRO

> **Subject:** 3 quick wins for [store name]
>
> Hi [store name] team,
>
> I spent a few minutes on your store. [What you noticed, e.g. the product pages have no size guide and the add-to-cart button sits below the fold on mobile].
>
> Small fixes like these often move conversion more than a full redesign. I'd be happy to record a 3-minute video walking through the three changes I'd make first.
>
> Want me to record it?
>
> [Name], [Agency]

**What to observe:** theme, mobile layout, trust signals, page speed, checkout friction.

## 4. Copywriting and SEO

> **Subject:** The [product name] description
>
> Hi [store name] team,
>
> I noticed most of your product descriptions are one or two lines, for example [product name].
>
> Longer, specific descriptions help shoppers decide and give Google something to rank. I write product copy for Shopify stores in [niche].
>
> I'd be glad to rewrite one description free so you can see the difference. Any product you'd pick?
>
> [Name]

**What to observe:** description length, missing details (materials, sizing, care), duplicate text across products.

## 5. Email and SMS marketing

> **Subject:** Visitors leaving [store name] without a trace
>
> Hi [store name] team,
>
> I noticed you're running [Meta ads / a Meta pixel], but there's no email signup or welcome offer on the site, so most of that traffic leaves without you being able to reach it again.
>
> We set up welcome, abandoned-cart and win-back flows for Shopify stores, usually live within two weeks.
>
> Happy to sketch the first three flows for you, free. Interested?
>
> [Name], [Agency]

**What to observe:** email platform present or not, popups, ad pixels.

## 6. Speed optimization

> **Subject:** [store name] on mobile
>
> Hi [store name] team,
>
> Your store runs [number] apps, including [page builder or heavy app], and the homepage took a while to load on my phone.
>
> Speed fixes tend to pay back quickly for stores already buying traffic. I can send a short report with the three changes that would help most. No obligation.
>
> Want it?
>
> [Name]

**What to observe:** number of apps, page builders, image sizes.

## How to fill [what you noticed] at scale

These templates get replies because of the observation, and the observation is the slow part: opening each store, checking photos, counting apps, reading descriptions.

That's the part MAALI automates. It reads each store's public catalog and code, scores how well it fits your offer, and drafts the email with the observation already filled in, for you to edit and approve. Templates for each of these services are built in, with the right filters already set.

Whatever you use, keep the rules: one observation, one small offer, an easy no, and only the business contact address the store publishes.

---

# 10 public signals that show a Shopify store needs your service

Source: https://maali.si/blog/shopify-store-signals

The best prospects aren't the biggest stores. They're the stores that clearly need what you sell, can afford it, and are still actively selling. All three show up in public, on the store itself. Here are ten signals worth checking, and the services they point to.

## Signals that a store is worth emailing at all

### 1. The newest product was added recently

Shopify's public catalog shows when products were published. A store that added products last week is alive and investing. A store whose newest product is a year old probably won't answer, whatever you sell.

**Use it for:** every offer. Skipping inactive stores is the single cheapest way to raise reply rates.

### 2. The catalog has a real size

Five products is a side project; fifty is a business. The right minimum depends on your price point, but a floor of 10 to 30 products filters out most test stores and abandoned launches.

### 3. The store publishes a business email

If there's no contact address on the store, there's no one to email. Stores that publish one on their contact or about page are inviting business contact. Use that address, never a personal one found elsewhere.

## Signals that point to a specific service

### 4. One photo per product

Count the images on a handful of product pages. One plain photo per product, or flat-lays only, is the clearest sign for **product photographers, UGC creators and AI image tools**.

### 5. Short or missing descriptions

One-line descriptions, or the same text across products, are a gift for **copywriters and SEO specialists**: easy to show, easy to improve.

### 6. No reviews on product pages

Fifty products and not a single review widget means **reviews apps** and **conversion agencies** have an opening.

### 7. No email capture

No popup, no signup offer, no email platform in the page source. For **email and SMS agencies**, that's a store sending all its traffic away for good.

### 8. An ad pixel is installed

The Meta or TikTok pixel means the store pays for traffic now. Great for **paid ads agencies, creative studios and landing-page specialists**, since the budget already exists.

### 9. A page builder or a pile of apps

PageFly, Shogun, GemPages, or a long list of app scripts often mean slow pages. That's an opening for **speed optimization and custom theme developers**.

### 10. The default theme, barely changed

A default theme with the demo layout intact often means a founder doing it all alone. Good for **branding studios and Shopify agencies**, especially if the products look good and the store doesn't.

## Combine signals, don't stack them

One signal is a guess; two or three together make a strong case. "Active store, 80 products, one photo each, no reviews" is a much better prospect for a photographer than any store with just one of those.

Equally, use signals to rule stores out. If you sell reviews and the store runs Yotpo, move on. If you shoot photos and every product already has eight lifestyle shots, move on. Skipping a store costs nothing; a pitch it doesn't need costs you a little reputation.

## Doing this at scale

Checking ten signals by hand takes a few minutes a store. MAALI checks them automatically from the public storefront: the free filters (country, catalog size, activity, photos per product, description length, apps) run first and cost nothing, and the AI then scores the stores that pass against your ideal customer. The signals it found become the first line of each draft.

However you do it, the principle holds: let the store tell you whether it needs you before you tell it what you do.

---

# How to follow up on a cold email to a store owner (once, and well)

Source: https://maali.si/blog/cold-email-follow-up

Many replies to cold email come from the follow-up, not the first message. Store owners are busy: your first email arrived during a sale, a supplier problem or a day of packing orders. A short, polite second note gives them another chance.

But there's a big difference between one useful follow-up and a five-step automated sequence. For freelancers and small agencies emailing store owners, one is usually right.

## Why one follow-up, not five

- **Your domain's reputation.** Every extra email to someone who didn't reply is another chance to be marked as spam. Small senders can't afford many of those.
- **The relationship.** You want to work with these people. The fourth "just bumping this" makes you the vendor they remember for the wrong reason.
- **Diminishing returns.** If two thoughtful emails didn't land, a third rarely changes the answer. Your time is better spent on the next good-fit store.

## When to send it

Wait three to five working days. Long enough that you're not pushy, short enough that they might still remember the first email. Avoid Mondays (inbox catch-up) and Friday afternoons.

And the most important rule: **stop the moment they reply**, whatever the reply says. If they say no or ask you to stop, they go on your do-not-contact list for good.

## What to put in it

A follow-up shouldn't repeat the pitch. It should add one small new thing, or make saying yes even easier.

**Add a new detail:**

> Hi again, one more thing I noticed: your two newest products have no photos of the back or detail shots, which matter for [category]. The free re-shoot offer stands if it's useful.

**Make the offer smaller:**

> No worries if now's not the time. If it helps, I can just send the before/after of one product without you doing anything, and you can ignore it if it's not for you.

**Give an easy out:**

> If this isn't relevant, just say so and I won't follow up again.

Keep it under 80 words. Reply in the same thread so they see the context, and keep the subject line.

## What not to do

- Don't fake familiarity ("Did you see my last email?" in a guilt-trip tone).
- Don't change the offer to something bigger.
- Don't send attachments to someone who never replied; links are safer for deliverability.
- Don't follow up from a different address or after they've opted out.

## How MAALI handles follow-ups

MAALI drafts one follow-up alongside every first email, so you approve both together. The follow-up goes out a few days later (you choose how many), on a weekday during business hours, in the same thread, and only if there's been no reply. If the store replies, or the email bounces, or they unsubscribe, the follow-up is cancelled automatically, and a "no" puts them on your do-not-contact list.

One good first email, one good follow-up, then move on. It's a simple rule that keeps your reply rate up and your domain healthy.

---

# How to write a cold email to a Shopify store owner that gets a reply

Source: https://maali.si/blog/cold-email-to-shopify-store-owners

Shopify store owners get a lot of pitches. Most of them are the same email with a different store name pasted in, and owners can tell in the first line. The emails that get replies do one thing differently: they show the sender actually looked at the store.

This guide walks through a structure that works for agencies, app developers, photographers and copywriters, and the mistakes that get emails ignored or marked as spam.

## The structure: observe, offer, opt out

A good first email to a merchant has three parts and fits on a phone screen without scrolling.

**1. One specific observation.** Open with something true about *their* store that relates to what you sell. Not a compliment, an observation:

- "Your new Linen Wrap Dress went live with one flat-lay photo, and most of your new arrivals look the same."
- "Your product pages don't show reviews yet, even on best sellers like the Harbor Cardigan."
- "Several of your candle descriptions are one line long, which leaves search engines very little to work with."

If you can't write a sentence like this, you probably shouldn't email that store yet.

**2. One small, concrete offer.** Say what you do in one sentence, then offer the smallest useful next step. Small offers get replies because they're easy to say yes to:

- a free re-shoot of one product,
- a five-minute video audit of their product page,
- a free install with setup done for them.

Avoid "Can we hop on a 30-minute call?" in a first email. You haven't earned the time yet.

**3. An easy way out.** End with a line like *"Not relevant? Reply 'no' and I won't email again."* It sounds counter-intuitive, but it lowers the pressure, and a "no" is useful: it tells you to stop, which protects your sending reputation.

## A full example

> **Subject:** On-model shots for the Linen Wrap Dress
>
> Hi Juniper & Pine team,
>
> I noticed the Linen Wrap Dress and the Harbor Cardigan each launched with one flat-lay photo, and most of your new arrivals look the same.
>
> I'm Alex from Acme Studio. We shoot on-model and lifestyle photos for boutiques. Happy to re-shoot one product free so you can compare it with what's live now.
>
> Not relevant? Reply 'no' and I won't email again.

It's under 80 words, names real products, makes one offer, and gives an exit.

## Subject lines

Short, plain and specific beats clever. A subject that names something from their store ("Photos for the Linen Wrap Dress") reads like a real message. Avoid fake "Re:" or "Fwd:" prefixes, all caps, and urgency words. They hurt trust and deliverability.

## Who to send it to

Use the business contact address the store publishes (often on the contact page or in the footer), such as hello@ or support@. Small stores often have the owner reading that inbox. Don't guess or buy personal addresses: it's a fast way into spam folders, and in many countries it creates legal problems (see our guide to [cold email rules](/blog/cold-email-rules-for-agencies)).

## The follow-up

Send one follow-up four or five days later if there's no reply. Keep it to two or three sentences and add one *new* angle rather than "just bumping this":

> Quick follow-up: we can also shoot every colorway of a product from one session, which could help pieces like the Vicky Top in black and mocha. The free re-shoot offer stands. Not relevant? Reply 'no' and I won't email again.

Then stop. A third and fourth email rarely helps and makes people reach for the spam button.

## Mistakes that kill replies

- **Flattery instead of observation.** "I love your brand!" says nothing; "your best sellers have no reviews" says you looked.
- **Claims you can't back up.** Don't promise "300% more sales". If you have real results, state them plainly; if you don't, don't invent them.
- **Too many asks.** One offer per email.
- **Volume over fit.** Emailing stores that clearly don't need you, like a store with professional photography on every product, wastes your time and hurts your domain's reputation.

## How MAALI helps

Doing this research by hand takes 10 to 15 minutes per store. [MAALI](/) does it for you: it reads each store's public catalog and pages, scores how well it fits your offer, skips the poor fits, and drafts an email that opens with a real observation. You review every draft before it's sent from your own inbox. You can [try it on 10 stores free](/signup).

---

# How many cold emails can you send per day without hurting your domain?

Source: https://maali.si/blog/how-many-cold-emails-per-day

There's no single magic number, but there is a safe way to think about it. Mailbox providers watch how people react to your mail. Volume matters less than whether recipients open, reply, ignore or report it. Low volume of relevant email is the safest thing a small sender can do.

## A sensible starting point

For a mailbox that's new to cold outreach:

- **Week 1:** 5 to 10 new emails a day
- **Weeks 2 to 3:** 15 to 20 a day, if nothing looks wrong
- **After that:** 20 to 40 a day per mailbox is plenty for most freelancers and small agencies

If you need more, add mailboxes rather than pushing one harder. And remember follow-ups count towards your daily sending too.

These are conservative numbers on purpose. A researched email to a store that fits your offer is worth ten generic ones, and you can only review so many drafts a day anyway.

## Protect your main domain

Send cold outreach from a separate domain, like `getyourstudio.com` instead of `yourstudio.com`, with its own mailbox. If something goes wrong, your main domain (and your invoices, client email and logins) is unaffected.

Set up the basics on that domain before you send anything:

- **SPF** and **DKIM**, from your email provider's setup guide
- **DMARC**, starting with a monitoring policy
- A real website or a redirect to your main site, so the domain looks legitimate

## Spread sending out

Fifty emails at 9:00:00 looks like a machine. The same fifty spread across the working day looks like a person. Send on weekdays, during business hours in your time zone, with a few minutes between messages.

## Signs you're sending too much

Slow down for a week if you see any of these:

- Bounce rate above a few percent (your list has bad addresses, or stores have closed)
- Replies drying up suddenly on similar emails
- People mentioning your email went to spam
- Warnings or sending limits from your provider

Bounces are the easiest to fix: send only to addresses the store publishes itself, and remove anything that bounces immediately.

## What matters more than volume

- **Relevance.** Emails that mention something real about the store get read and answered, and that engagement is what providers reward.
- **Plain text.** No images, no tracking-heavy templates, one link at most.
- **An easy opt-out.** An unsubscribe link and honouring "no" right away keeps complaints near zero.

## How MAALI helps

MAALI sends from your own mailbox with limits you set: a daily cap for the mailbox and for each campaign, weekdays only, business hours in the mailbox's time zone, spaced out across the day. Every email includes an unsubscribe link and one-click unsubscribe headers. Bounces, unsubscribes and "no" replies are added to your do-not-contact list automatically.

Start low, keep it relevant, and let the replies tell you when to grow.

---

# How to find Shopify stores that actually need your service

Source: https://maali.si/blog/find-shopify-stores-that-need-your-service

Finding Shopify stores is easy. Finding the ones that need what you sell, and can pay for it, is the hard part. The good news: a store's public storefront tells you a lot, if you know what to look for.

## Start with a list, then qualify it

You can build a starting list of stores from many places: niche directories, marketplaces where brands also sell, trade show exhibitor lists, Instagram shop links, "built with Shopify" lookups, or your own network. Don't email that list. Treat it as raw material, and qualify each store first.

Qualifying means answering three questions:

1. **Is the store active?** Look at when the newest product was added. A store that hasn't added anything in a year is unlikely to invest now.
2. **Is it big enough to pay?** A catalog of five products and a store with 400 products are very different buyers.
3. **Does it show the problem you solve?** This is the part most people skip, and it's the part that makes your email specific.

## Signals by type of service

Every Shopify store exposes its catalog publicly, so these checks are possible without logging in to anything.

### Product photography and creative

- Products with only one image, especially new arrivals.
- Flat-lays or hanger shots with no on-model or lifestyle images.
- Inconsistent backgrounds or lighting across a collection.
- Colorway products where only one color is photographed.

### Copywriting and SEO

- Very short product descriptions (a line or two) across the catalog.
- Descriptions copied from the manufacturer, identical to other stores.
- Collection pages with no introductory text.

### Design, CRO and agencies

- A barely customized default theme on a store with a large catalog.
- No reviews or trust signals on product pages.
- Slow, image-heavy homepages, or important information hidden below the fold.

### Shopify apps

- The *absence* of a tool category. For example, a store with hundreds of products and no reviews app, no email capture, or no subscriptions on consumable products. Common apps leave fingerprints in a storefront's page source, so you can tell what a store already runs.

## Score, don't just filter

Rather than a yes/no, give each store a rough score: active and well-sized stores that clearly show your problem go to the top; stores that already solve it (great photos, a competing app installed) go to the bottom or get skipped. Spend your time on the top of the list.

A simple rule: if you can't name the specific thing you'd fix on that store, skip it.

## Get the right contact

Use the contact address the store publishes on its own website. It's the address the business has chosen for inquiries, and on small stores the owner often reads it. Respect opt-outs and keep a do-not-contact list from day one.

## Turn the research into the email

Whatever you found while qualifying becomes your first line. "Your new arrivals go live with one photo" is a stronger opener than anything you could write without looking. Our guide on [writing the email](/blog/cold-email-to-shopify-store-owners) covers the rest.

## Doing this at scale

Checking catalogs, apps and contact pages by hand works for ten stores, not for two hundred. [MAALI](/) automates the research: paste a list of store domains, and it checks each store's public catalog, detects common apps, finds the published contact address, scores fit against your offer and drafts the email. You approve every message. [Start with 10 stores free](/signup).

---

# Cold email rules for agencies: CAN-SPAM, GDPR and good practice

Source: https://maali.si/blog/cold-email-rules-for-agencies

*This is a general overview to help you ask the right questions. It is not legal advice; rules differ by country and change over time, so check with a lawyer for your situation.*

Cold email to businesses is legal in many places, but only if you do it a certain way. The good news is that the rules mostly line up with what also keeps your emails out of spam folders: be honest about who you are, make it easy to say no, and don't use data you shouldn't have.

## The basics almost every regime expects

**Say who you are.** Use your real name and company, a working reply address, and a subject line that matches the content. No fake "Re:" threads.

**Include a physical address.** The US CAN-SPAM Act requires a valid postal address in commercial email. Put it in your signature.

**Make opting out easy, and honor it.** Every email should offer a simple way to stop further emails: a reply, a link, or both. Honor requests promptly (CAN-SPAM sets a 10-business-day limit) and keep a do-not-contact list so the same person is never emailed again, even from a different campaign.

**Don't hide behind bulk.** Small, relevant volume from a real mailbox is both kinder to recipients and better for deliverability than blasting thousands of messages.

## Personal data: where GDPR and similar laws come in

In the EU and UK, GDPR (and, for email marketing, the ePrivacy rules such as PECR in the UK) apply to personal data, and a named person's email address is personal data. In practice for B2B prospecting:

- **Prefer generic business addresses** a company publishes for inquiries (hello@, info@, sales@). Rules for contacting businesses at such addresses are generally less strict than for individuals, though details vary by country.
- **Have a legitimate reason** to contact the business, tied to what they do. A relevant, specific offer to a store about its own storefront is very different from a blast to a purchased list.
- **Collect as little as you need** and don't keep data longer than necessary.
- **Tell people where you got their address** if they ask, and stop on request.
- **Be careful with sole traders.** Many small online stores are run by one person, so "business" contact data can still identify an individual. Some countries treat that as personal data with stricter rules.

Canada (CASL) and Australia (Spam Act) are stricter than the US about consent; some forms of implied consent apply to addresses a business publishes, but only when the message is relevant to their business role. If you target those countries, read the specific rules.

## What not to do

- Don't buy or scrape lists of personal email addresses.
- Don't send to people who said no, or who unsubscribed from any of your campaigns.
- Don't make claims you can't back up.
- Don't keep sending after bounces. They're a signal the address is wrong, and repeated bounces damage your domain.

## Deliverability habits that also keep you compliant

- Send from a separate domain or mailbox for outreach, warmed up gradually.
- Keep daily volume modest and spread across business hours.
- Use one follow-up, not five.
- Add one-click unsubscribe headers so mail apps can show an unsubscribe button.

## How MAALI is built around this

[MAALI](/) only uses the business contact address a store publishes on its own site, follows robots.txt, and gives store owners a [public opt-out](/bot) that applies to every MAALI user. Every email includes your signature with a postal address, an unsubscribe link and one-click unsubscribe headers. "No" replies, unsubscribes and bounces go on your do-not-contact list automatically, and you approve every first email before it's sent.

---

# Test run: 26 women's clothing boutiques, 7 drafts worth sending

Source: https://maali.si/case-studies/womens-boutiques-test-run

Before asking anyone to pay for MAALI, we used it ourselves. This is a real campaign from our own testing, with real numbers. Store names are left out because those businesses didn't sign up to be in a case study.

**One honest caveat:** we haven't sent these emails yet, so this case study is about research quality and cost, not reply rates. We'll update it when we have reply data.

## The offer

The campaign was for AbrimaAI, our sister product: an AI content tool for apparel stores that puts garment photos on AI models in different poses and scenes, without a photoshoot.

The ideal customer, as written in the campaign:

> Small and mid-size Shopify apparel brands that add products often and rely on flat-lay, hanger or plain photos, or have few on-model images. Not a fit for stores that already have rich professional on-model photography for every product.

Filters: US only, at least 5 products, a product added in the last 180 days, minimum fit score 40.

## Finding stores

We used **Find stores** with the focus "women's clothing boutiques". MAALI searched the web, found 23 candidate stores and checked each one: is it a live Shopify store, does it have a public catalog, does it publish a business email? **20 passed and were added** to the campaign. Together with a handful of stores we had pasted in by hand earlier, the campaign had **26 stores**.

## What the free checks skipped

7 of the 26 stores were skipped before any AI research, at no cost:

| Reason | Stores |
| --- | --- |
| No business email published on the store | 4 |
| robots.txt asks crawlers like MaaliBot to stay out | 1 |
| No public product catalog | 1 |
| Password-protected or blocked | 1 |

That's more than a quarter of the list ruled out for free. Without the email check alone, four emails would have had nowhere to go.

## What the AI research found

The remaining **19 stores** were researched: MAALI read their catalogs, photos, apps and pages, and scored each against the ideal customer.

- **12 scored below 40** (average 25) and were set aside. Every one of them already had professional on-model photography, often five to nine images per product, which is exactly the "not a fit" we described. A generic lead list would have sent them all the same email.
- **7 scored 40 or higher** and got drafts. The six waiting for review averaged a fit score of 52; the one we approved scored 80.

The drafts fell into two patterns. The strongest fits had the photo gap the offer is built for: the top store (fit 80) showed only flat-lays and hanger shots, and another had a single image on 49% of its 402 products. The rest were very active catalogs, with hundreds of products and new ones added daily, where producing images is a constant workload. Each draft opened with what MAALI saw on that store, naming real products, then offered a free sample for one product.

## What it cost

At today's pricing, this campaign would use:

- **3 credits** for Find stores (one search, which added 20 stores)
- **19 credits** for research (1 per researched store; the 7 skipped stores were free)

That's 22 credits for 7 researched, qualified drafts, or about $5.80 on the Growth plan. The time spent was mostly reading the drafts.

## What we learned

1. **The "not for" half of the ideal customer matters most.** Writing who the offer isn't for is what let MAALI score 12 strong-looking boutiques as poor fits.
2. **Most of the list shouldn't be emailed.** Only 7 of 26 stores were worth a message. That's normal for a specific offer, and it's the point: fewer, better emails.
3. **The email check pays for itself.** Stores without a published address are skipped for free, before research.

## Try it on your own offer

The Free plan includes 10 store researches with your first 3 drafts unlocked, so you can see what MAALI finds for your service before paying anything.

---

# Cookie Policy

Source: https://maali.si/cookies

MAALI uses the cookies needed to run the service and, if you allow it, Google Analytics cookies. We don't use advertising cookies, and we don't sell information collected through cookies.

## Cookies we use

| Cookie | Purpose | How long |
|---|---|---|
| `better-auth.session_token` (and related auth cookies) | Keeps you signed in, and protects your account against forged requests | Your session (up to 7 days of inactivity) |
| `maali_ws` | Remembers which of your workspaces is active | 1 year |

These are strictly necessary cookies. They're set only when you sign in and are required for the app to work, so they don't need consent.

## Payments

When you check out, you're taken to Polar's checkout page, which uses its own cookies to process the payment securely. See Polar's privacy policy for details.

## Analytics

We use Google Analytics 4 to count visits and see which pages and features help people. Advertising features are turned off.

| Cookie | Purpose | How long |
|---|---|---|
| `_ga` | Tells visits from the same browser apart | 2 years |
| `_ga_<id>` | Keeps the state of a visit | 2 years |

In the EU/EEA, the UK and Switzerland we ask first, and these cookies are set only if you accept. Elsewhere analytics is on by default. Wherever you are, you can change your choice any time with **Cookie preferences** in the site footer; declining removes these cookies.

## Managing cookies

You can delete cookies in your browser settings at any time. If you delete MAALI's cookies, you'll be signed out.

Questions: [hello@maali.si](mailto:hello@maali.si).

---

# Refund Policy

Source: https://maali.si/refunds

We want you to pay for MAALI only if it's useful to you. That's why every account starts with free credits, so you can see real research and drafts for your own offer before paying.

## Subscriptions

- **Cancel anytime** from Billing. Your plan stays active until the end of the month you've paid for, and you won't be charged again.
- **First payment:** if you subscribed and MAALI didn't work for you, email [hello@maali.si](mailto:hello@maali.si) within **7 days** of your first payment and we'll refund it in full, as long as you've used fewer than half of that month's credits.
- **Renewals** are generally not refunded, because credits are made available as soon as a period starts. If something went wrong on our side (for example a billing error or an outage that stopped you using MAALI), contact us and we'll make it right.
- Where consumer law in your country gives you more rights, those rights apply.

## Credits

Credits have no cash value and aren't refundable on their own. When a payment is refunded, the unused credits from that payment are removed from your workspace.

## How refunds are paid

Payments are processed by Polar, our merchant of record. Approved refunds go back to the original payment method, usually within 5–10 business days depending on your bank.

## Contact

Email [hello@maali.si](mailto:hello@maali.si) with your account email and the reason for your request.

---

# Acceptable Use Policy

Source: https://maali.si/acceptable-use

MAALI exists to help businesses send fewer, better, relevant emails to other businesses. To keep it that way, these uses are not allowed:

- **Spam.** Sending high volumes of irrelevant or repetitive messages, or messages to people who asked you to stop.
- **Deception.** False sender identities, misleading subject lines, fake "Re:" threads, or claims about your offer you can't support.
- **Personal data you shouldn't have.** Adding personal email addresses obtained from purchased lists, scraping or data brokers, or using MAALI to collect personal information about individuals.
- **Evading opt-outs.** Re-adding contacts who unsubscribed, said no, or opted out through the MaaliBot page, or using multiple accounts to get around limits or suppressions.
- **Harmful or illegal offers.** Promoting anything illegal, fraudulent, adult, gambling-related, deceptive financial products, or malware, or anything that harasses or threatens recipients.
- **Abusing the service.** Trying to break, overload, reverse-engineer or bypass MAALI's limits, or using it to crawl sites beyond the research it performs for your campaigns.

We may review flagged activity, pause sending, and suspend accounts that break this policy. Report abuse to [hello@maali.si](mailto:hello@maali.si). If you received an unwanted email sent through MAALI, you can also [opt out of all MAALI outreach](/bot).

---

# Privacy Policy

Source: https://maali.si/privacy

This policy explains how MAALI ("we", "us") handles personal data, both for people who use MAALI (our customers) and for businesses whose public websites MAALI reads on a customer's behalf. Questions: [hello@maali.si](mailto:hello@maali.si).

## 1. Data about our customers

**Account data.** Your name, email address and password (stored as a secure hash), and your workspace settings.

**Campaign data.** The offer you describe, the store domains you add, drafts, your edits and approvals, and messages sent through MAALI.

**Mailbox credentials.** If you connect a mailbox, we store its server settings and your password or app password, encrypted at rest. We use them only to send the emails you approve and to read replies and bounces to those emails. We never store other mail from your inbox.

**Billing data.** Payments are processed by Polar, our merchant of record. We receive your subscription status and order details, not your full card number.

**Usage and technical data.** Logs needed to run and secure the service, such as IP addresses and timestamps.

**Analytics.** We use Google Analytics 4 to understand which pages and features help people, for example how many people sign up or build a Store Brain. It sets cookies and records pages visited, events, device and approximate location. Visitors in the EU/EEA, the UK and Switzerland are asked first and analytics stays off unless they accept; everyone else can turn it off any time under "Cookie preferences" in the site footer. Advertising features are off, and we don't use the data for ads. See the [Cookie Policy](/cookies).

We use this data to provide the service, process payments, prevent abuse, and improve MAALI. We don't sell personal data.

## 2. Data about businesses MAALI researches

When a customer adds a store, MaaliBot reads that store's **public** pages: its homepage, public product catalog, store metadata, and its contact or about page. From these we keep public business information, such as the store name, catalog statistics, detected apps, public social profile links, and the business contact email the store publishes. We do not collect personal email addresses or phone numbers from other sources, and we follow robots.txt.

Customers use this information to decide whether to contact a business about their service. Our legal basis is legitimate interest in enabling relevant business-to-business communication, balanced by strict limits: public business data only, a human approves every first email, and a platform-wide [opt-out](/bot).

If you run a store and want MAALI to stop researching or contacting it, use the [opt-out form](/bot). It applies to every MAALI customer, and we delete the store data we cached.

## 3. Service providers

We use carefully selected providers to run MAALI, including hosting, database and storage providers, Polar for payments, Google for analytics, and Anthropic for AI processing of store information and drafts. They process data only on our instructions.

## 4. Retention

Account and campaign data is kept while your account is active and deleted within 30 days after you close it, except where we must keep records for legal, tax or security reasons. Cached public store research expires and is refreshed or removed regularly. Do-not-contact entries are kept so that opt-outs keep working.

## 5. Your rights

Depending on where you live, you may have rights to access, correct, delete, or export your personal data, to object to or restrict processing, and to complain to a data protection authority. Email [hello@maali.si](mailto:hello@maali.si) and we will respond within 30 days.

## 6. Security

We encrypt mailbox credentials and use encrypted connections. No system is perfectly secure; if we become aware of a breach affecting your data, we will notify you as required by law.

## 7. Changes

We will update this page when our practices change and note the date above. Significant changes will be announced to customers by email.

---

# Terms of Service

Source: https://maali.si/terms

These terms govern your use of MAALI. By creating an account you agree to them. Questions: [hello@maali.si](mailto:hello@maali.si).

## 1. The service

MAALI researches the public storefronts of businesses you choose, scores how well they fit your offer, drafts emails for your review, and, if you connect a mailbox, sends the emails you approve from that mailbox and tracks replies.

## 2. Your account

You must give accurate information, keep your password safe, and be at least 18 years old and authorized to act for your business. You're responsible for activity in your workspace.

## 3. Your responsibilities when sending

You are the sender of every email sent from your mailbox through MAALI. You agree to:

- follow the laws that apply to your outreach, including anti-spam and data protection laws (such as CAN-SPAM, GDPR, PECR and CASL, where they apply);
- include truthful sender information and a valid postal address in your signature;
- only make claims about your offer that are true;
- honor opt-out requests and never try to work around MAALI's do-not-contact lists; and
- follow our [Acceptable Use Policy](/acceptable-use).

AI drafts can contain mistakes. You must review each email before approving it.

## 4. Credits, plans and payment

Credits are used when MAALI researches a store with AI. Free credits expire after 30 days; plan credits expire at the end of each billing period and don't roll over. Paid plans renew monthly until cancelled. Payments, invoices and taxes are handled by Polar as merchant of record. You can cancel anytime; your plan stays active until the end of the paid period. Fees are non-refundable except where required by law or stated otherwise at purchase.

## 5. Your content

You keep ownership of the content you add and the emails you send. You give us the rights we need to run the service for you, such as storing and processing your content.

## 6. Suspension

We may suspend or close accounts that break these terms or the Acceptable Use Policy, create legal risk, or harm the service, other customers, or the businesses being contacted. Where reasonable, we'll tell you why first.

## 7. Disclaimers

MAALI is provided "as is". We don't guarantee replies, sales, deliverability, or that AI output is accurate or complete. Research uses publicly available information that may be out of date.

## 8. Limitation of liability

To the extent the law allows, our total liability for any claim relating to MAALI is limited to the amount you paid us in the 12 months before the claim, and we're not liable for indirect or consequential losses such as lost profits.

## 9. Changes

We may update these terms. If changes are significant we'll notify you by email before they take effect. Continuing to use MAALI after that means you accept the new terms.
