Open the app →

Guide & Help MarketHub

Detailed documentation for each module. Use the table of contents on the left to jump directly to the module you need.

🚀 Quick start (5 minutes to your first campaign)

  1. Verify email — you receive a confirmation link at signup. Click it (the link expires in 3 days).
  2. Add SMTP account — Side settings: Accounts → +Add. View detailed account guide.
  3. Build your first leads — or scraping from Sources → Search companies, or CSV import from Contacts → Import.
  4. Create a templateTemplates → +New or "Generate with AI".
  5. Launch campaignCampaigns → +New: 4 steps (template, recipients, accounts+timing, review).
💡 Tip: Start with 50–100 contacts for the first campaign + throttle 30s. Standard daily limit 100 emails/account. This way you avoid being marked as spam.
⚠️ Before any real campaign: Click "Send test to me" in step 4 of the wizard. 30 seconds, you save 1500 wrong emails.

📊 Dashboard

Home page after login — shows your CRM status + live activity.

The 4 main KPIs (clickable)

  • 👥 Total contacts — all leads in the CRM. Click → filter Contacts to "all".
  • ✉️ With email — only those with a valid email address. Click → shows "outreach-able leads".
  • 🌐 With website — leads with a detected URL (used by AI for per-contact research).
  • Average rating — quality score calculated from data completeness.

Secondary cards

  • Other figures: No website, No email, Active sources
  • Live activity: real-time feed of what AI assistants are doing across all campaigns
  • Quick access: 4 quick-launch — AI Agent, Video AI, Social Publish, SMS

Greeting + what's new

"Hello, [Name]" + emoji based on time of day. Auto-refresh every 90 seconds — no need to manually reload.

💡 KPIs with emails / phones are LINKS. Clicking them takes you directly to the corresponding filtered list in Contacts.

👥 Contacts (CRM)

The command center for your leads. All imported or scraped people/companies end up here.

Page layout

  • KPI strip top (6 clickable cards): Total / With email / With phone / With website / On lists / Blacklist
  • Left sidebar (3 collapsible sections):
    • Lists — your custom lists (static segments). Special button Blacklist (red ban icon) — exclude from all campaigns.
    • Segments — AI-generated dynamic segments (e.g. "Mid-Market B2B", "Retail Bucureşti")
    • Tags — free-form labels that you create
  • Main table — 8 sortable columns: ☑ checkbox / Name / Email / Phone / Website / Category / Tags / Rating

Filter bar (above the table)

  • Website: All / With website / Without website
  • Email: All / With email / Without email
  • Category: dropdown dynamically populated from your contacts
  • Location: extracted from data
  • County: all 41 counties + Bucharest
  • Search box: real-time search across Name, Email, Address, Phone

Bulk actions (appear when you select contacts)

Action bar appears above the table when you select at least 1 contact:

  • Add to list — select a list from the dropdown
  • Add tag — tag picker multi-select
  • Blacklist — add to blacklist (they will no longer receive anything)
  • Delete — permanently delete from CRM

Buttons in section header

  • 🤖 AI Insights — Claude analyzes your database, suggests new segments, dedup, normalizations
  • 📥 Import — CSV (drag&drop), Mailchimp, Substack
  • 📤 Export — download the current view as CSV
  • 🖨️ Report — Printable PDF with KPIs + top categories + top counties
  • 🧬 Duplicate — deduplication detector with merge wizard (combines notes, tags, lists)
  • + Manual — add contacts one by one (Name + Email required)

Contact drawer (when you click on a name)

Opens a right panel with:

  • Email, Phone, Website, Category, Rating
  • Timestamped notes — add/edit/delete notes
  • Associated tags — add/remove
  • Campaign history — which campaigns they were a recipient in + status (sent / replied / bounced / unsubscribed)
  • Toggle Blacklist per-contact
  • Custom fields — your additional fields

Saved filters (presets)

Save complex filter combinations (e.g. "With email + Cluj + Construction"). Click a preset to apply it instantly.

Limits

  • Bulk applies to the current page (default 50 contacts/page)
  • Max 500 contacts per page view
  • Search is not limited but the UI is optimized for ~100 characters

Error messages

"Fill in the location!" — when saving a contact without a location
"Nothing to merge" — on duplicate merge with no matches
"Merge failed: [detail]" — detailed merge error

🌍 Sources (Google Maps Database)

The scraping module that finds new businesses via the Google Maps Places API. Works in 2 steps: searches for businesses → extracts their emails.

Step 1: Search companies

Search fields

  • Country: 🇷🇴 Romania only for now (hardcoded)
  • Location: city ("Cluj-Napoca"), county ("Bihor"), country ("Romania" for national search), or multi-search separated by comma ("restaurant, cafenea, bar"). For large cities the system auto-expands to nearby neighborhoods.
  • Business type / industry: optional ("avocat", "dentist"). Empty = all businesses.
  • Maximum results: 1–500, default 60. Pro tip: start with 60,, increase if the area is large.

Exhaustive mode (🚀 checkbox)

Enable it + select a broad category bundle (not individual keywords). Available bundles: Food & Beverage, Professional Services, Construction, Healthcare, etc. Searches all businesses in that category for the given location — slower, but thorough.

Optional auto-actions

  • Auto-apply Tags — tags applied only to new companies (deduplicated)
  • Auto-add to a List — add results to an existing list

Useful buttons

  • Pro tips — AI suggests niches for your location (uses Claude)
  • Preset — save the current search as a reusable preset

Progress

  • "Searching..." bar with ⏹ button Cancel
  • Scrape is running in the background — you can navigate away, it will continue
  • Results are entered into the CRM in real-time, not at the end

Step 2: Extract emails

Mode selector

  • Standard (~30–40% success rate) — visits homepage + /contact. Fast, good for large batches.
  • Deep Scan (~70–80% success rate) — adds Cloudflare de-obfuscation, Facebook /About, WHOIS lookup. Slower but finds hidden emails.

Companies per batch

25 / 50 / 100 / 200 / 500. Higher = faster globally but greater risk of IP blocks. 50 is the sweet spot.

Final button

"Extract emails" (green, large). Progress bar with estimated time. Valid emails are automatically added to Contacts → "Valid Emails" segment. Invalid/polluted emails are filtered out (internal blocklist of 60+ domains: Sentry, Wix, errors, etc.)

History & presets

📋 Search history

  • All past searches with date, location, type, number of results
  • Button Reload — re-run the same search
  • Button Clear — clear history (does NOT delete scraped companies)

⭐ Saved searches

Collapsible bar with your saved searches. Click = instant re-run.

Advanced settings (expand "Advanced settings")

  1. 🧹 Clean polluted emails — delete malformed emails ("error-lite@duckduckgo.com" etc.) so you can re-scrape those companies
  2. 🔓 Unlock extraction button — unlocks the "Extract emails" button if it's stuck after a server restart
  3. ⚠ Delete all companies — IRREVERSIBLE. Requires typing "STERGE TOT" to confirm. Deletes all scraped companies + tags + lists.

Limits

  • Supported countries: Romania only (hardcoded)
  • Max results per search: 500
  • Deep scan timeout: ~30s per company

Error messages

"Fill in the location!" — required field
"In exhaustive mode, choose a broad category" — bundle required when Exhaustive is ON
"Error starting scraping: [detail]" — API/connection

✍️ Email Templates (with AI Copywriter)

Email editor with 2 modes (Text / Design Studio) + built-in AI assistant.

Templates list

  • Tabs: All / Mine / Gallery
  • Pre-built gallery — ready-to-use example templates
  • "Generate with AI" (purple sparkle) — AI generation modal
  • "New template" (+) — empty editor

Mode 1: Text Editor (📝)

Subject field

  • Max 200 characters (hard limit) — "0 / 50 characters" counter soft guideline
  • Supports variables: {{firma}}, {{nume}}, {{oras}}, {{website}}, {{poza_logo}}
  • Variables bar — quick-insert with one click at cursor

Body editor (Quill WYSIWYG)

  • Real-time word count
  • Formatting: Bold / Italic / Links / Lists / Headings

Attachments

  • Images and PDFs (max 10MB / file)
  • "Add attachment" — file picker, automatic upload

Spam score panel

  • Score 0–100 (red/yellow/green)
  • Issues list: "Too many caps", "Spammy words: FREE, URGENT", "Missing unsubscribe link"
  • Auto-check on every text change

Mode 2: Design Studio (🎨)

Vertical split layout:

  • Top: Preview iframe — toggle Desktop / Mobile / Dark mode + Product dropdown (AI context)
  • Bottom: AI chat dock — conversation history, drag & drop images (max 5MB), quick-chips:
    • "+ testimonial" — adds a real testimonial with author + company
    • "+ pricing" — adds pricing with 3 tiers
    • "+ steps" — adds numbered steps explaining how it works
    • "+ stats" — large numbers + short labels
    • "shorter" / "friendlier" / "dark" / "different title"

Side buttons (all modes)

  • Copywriter ✨ — chat: "Rewrite subject to be catchier", "Add a strong hook", "Check for mistakes"
  • AI Design ✨ (Design Studio only) — brief modal: URL + product + instructions
  • Subject Lab — generates 5 subject line variants, you pick one
  • Critique — AI evaluates tone, structure, CTA clarity
  • Preview — preview how it looks in Gmail/Outlook
  • Translations 🌍 — multi-language variants (EN, FR, DE, ES)
  • Versions 🕒 — version history (auto-save), restore old versions
  • Test — send a test to your inbox
  • Save (blue) — required before use in a campaign
💡 A/B subject testing: In campaigns you can set variant B → split 50/50, tracks which one performs better.
💡 AI per-contact: Upload CSV → AI researches each prospect → generates a unique email → you review & approve before sending.

Limits

  • Subject: 200 chars hard
  • Body: practically unlimited, but >5000 chars = email clients will truncate
  • Attachments: 10MB / file, multiple allowed

Error messages

"Write something first" — body required
"Note cannot be empty" — notes in contact drawer

📤 Email Campaigns (4-step wizard + monitoring)

Step-by-step wizard for launching a campaign.

Step 1: Template

  • Campaign name (internal, e.g. "Restaurante Cluj — Aprilie")
  • Select a template from your list (with thumbnail)
  • "Continue" → step 2

Step 2: Recipients

Mode picker (radio)

  • "All contacts with email" (default)
  • "A specific list" — select from dropdown
  • "By tags" — multi-select (OR logic)

"Calculate recipients" button: shows "200 of 5000" with breakdown.

Step 3: Accounts + Delivery settings

SMTP Accounts

Checkboxes for each connected account. Rotation: emails distributed equally across selected accounts.

Throttling (⏱)

  • Presets: 🐢 Slow (60s) / 🚶 Medium (30s, recommended) / 🏃 Fast (10s, small lists only)
  • Custom: 5–600 seconds
  • Estimated display: "~2 hours 15 minutes for 450 contacts at 30s"

Schedule (📅)

  • "Start immediately" (default)
  • "Save draft" (start manually later)
  • "Schedule for a specific date" + timezone
  • Pro tips: send on Tuesday 09:00 / Wednesday 10:00 / Thursday 11:00 (B2B best times)

A/B test (🧪)

Toggle ON → enter variant B subject. 50/50, split tracks opens per variant. "RECOMMENDED" badge.

AI Options

  • 🔗 Drip / Multi-step sequence: toggle ON → define follow-ups (email 2, 3) for non-responders. Step 1 = the email above. Steps 2+ are sent only if the lead hasn't replied. Button "+ Add step".
  • ⏰ AI picks the optimal time per recipient: AI detects when each lead typically opens emails (from history) and sends at that time. Expected boost: +3–5% open rate.

Step 4: Review + send

Summary: Template / Recipients / Accounts / Throttle / Schedule / A/B / Drip.

🧪 Test email (orange box): enter your email → "📧 Send test to me" → "✓ Sent to email@tau.ro". 30 seconds, you save 1500 wrong emails.

Two final buttons: "Save draft" (gray) or "Start now" (blue).

Live monitoring (after start)

  • Status badge: "Sending" / "Paused" / "Completed" / "Failed"
  • KPI: "150 sent / 5000 estimated" + progress bar
  • Throttle displayed, last update timestamp
  • Buttons: Pause / Retry / Stop / Reports

AI per-contact review

If you enable AI personalization: a separate "AI Personalization" screen. Variant list on the left, detail on the right. Per contact: AI research + email body. Actions: Approve ✓ / Reject ✗ / Edit / Regenerate. "Approve all" button.

⚙️ Auto-pause & auto-resume: If all accounts reach the daily limit, the campaign pauses automatically. The maintenance cron reactivates it at the next reset (00:00 UTC).

Limits

  • Throttle: 5–600 seconds (hard)
  • Max recipients: depends on plan
  • AI per-contact: limit plan
  • Drip: max 5 follow-up steps
  • A/B: only 2 variants (A and B)

Error messages

"Choose a list" — list mode with no selection
"Check at least one tag" — tag mode with no selection
"You must type DELETE ALL to confirm" — when cancelling a campaign
"Plan limit exceeded. Upgrade in Settings."

📧 SMTP/IMAP accounts

Connecting email accounts — critical for deliverability.

Accounts list

Cards with: Email / Provider / SMTP host / Status (✓ connected / ✗ failed). Buttons per card: Test SMTP / Test IMAP / DNS / Delete.

Add account (modal)

FieldExampleNotes
Emailcontact@firma-ta.roRequired
SMTP Hostsmtp.hostinger.comRequired
SMTP Port465Required
EncryptionSSL / TLS / NoneSSL for port 465, TLS for 587
Username(usually = email)
Password•••••••••Locally encrypted with Fernet
IMAP Hostimap.hostinger.comFor reply tracking
IMAP Port993Standard SSL
Daily limit300Default ~300 Hostinger, 500 Gmail
Warmup modecheckboxRecommended for new accounts (<30 days)

Test SMTP / Test IMAP

Send test connection. Results: ✓ OK or ✗ "Auth failed" / "Connection timeout".

DNS check

Displays SPF / DKIM / DMARC status. Each ✓ (valid) or ⚠️ (missing). Guidance: "Add this SPF record to your DNS: v=spf1 include:smtp.hostinger.com ~all".

⚠️ Without proper SPF/DKIM, over 60% of emails end up in Spam. Don't skip this step.

Setup Hostinger Email

  1. Login hPanel → Emails → Email Accounts
  2. Copy SMTP/IMAP settings:
    • SMTP host: smtp.hostinger.com
    • SMTP port: 465 (SSL)
    • IMAP host: imap.hostinger.com
    • IMAP port: 993 (SSL)
  3. Using the same credentials as the webmail

Setup Gmail (Google Workspace)

  1. Enable 2FA on your Google account
  2. Generate app password: myaccount.google.com/apppasswords
  3. In MarketHub:
    • SMTP host: smtp.gmail.com
    • Port: 465 (SSL)
    • User: your email
    • Password: application password
  4. Click Test SMTP before saving

DNS records for deliverability

  • SPF: TXT v=spf1 include:{provider} ~all
  • DKIM: provider gives you selector + TXT public key
  • DMARC: TXT v=DMARC1; p=quarantine; rua=mailto:dmarc@tau-domeniu

Limits

  • Hostinger: ~300–500 emails/day
  • Gmail: ~500/day
  • Warmup ramp: 10 → 20 → 40 → 100/day in ~4 weeks
  • New accounts (<30 days): warmup required

Error messages

"Missing required fields: [host, port, ...]" — please fill them in
"Auth failed" — incorrect password/username
"Connection timeout" — host unreachable
"DNS check failed: SPF record invalid"

📈 Reports

KPIs, funnel, deliverability, heatmaps.

Report types

  1. Campaign reports (default):
    • KPI grid: Opens / Clicks / Replies / Bounces / Unsubscribes
    • Funnel: Sent → Delivered → Opened → Clicked → Replied (% per step)
    • Time-series chart: cumulative opens/clicks over the campaign duration
    • Top leads: who opened, clicked, replied (sortable table)
  2. Deliverability:
    • Bounce rate per domain (gmail.com 2%, yahoo.com 4%)
    • Hard vs soft bounces breakdown
    • Auto-blacklisted domains (rate >15%)
  3. Opens/Clicks tracking:
    • Click map (which links are clicked most often)
    • Opens heatmap (open time vs. send time)
    • Unique vs repeat opens
  4. Unsubscribes log: timestamp, email, reason (optional). Export CSV.
  5. Comparison: choose 2–5 campaigns, KPI grid side-by-side

Date range

Last 30 days (default). Selectable: 1, 7, 14, 30, 60, 90 days.

Buttons

  • 📥 CSV — export dashboard data
  • 📄 Print — generate a printable PDF
  • 🖨️ Report — full report in a new window

Limits

  • Lookback: 2 years
  • Comparison: max 5 campaigns
  • Export: first 5000 rows

🍎 Apple Search Ads — AI autopilot

Connect your Apple Search Ads account + AI generates a blueprint + optimizes daily.

Connection

Empty state: "Connect your Apple Search Ads account" → "Sign in with Apple" button (OAuth). If you have multiple MCCs, select from the dropdown.

Dashboard (after connection)

KPI grid

Impressions 👁 → Clicks → CTR → Spend 💰 → Conversions 🎯 → Avg CPC

💼 No € values are shown in the user UI — you see figures without monetary context (full values are available on the admin page).

Date range

1 / 7 / 14 / 30 / 60 / 90 days.

Buttons

  • + Add account — ASA connection
  • 📖 Guide — walkthrough setup
  • ℹ️ How it works — explain AI Blueprint + Auto-Pilot
  • 🤖 AI Optimizer — run manually
  • 🎯 Conversions — conversion tracking
  • 🩺 Diagnostics — check API endpoints
  • 🏥 Account Health — opt score + holds check
  • 🤖 AI Automations — auto-negative loop, daily summary
  • 🔓 Disconnect

AI Brief card

Weekly summary: top actions, flagged issues. "🔄 Refresh" re-run AI (consumes quota). "View all →" opens the full AI Pro Brief.

AI Optimizer actions

  1. AI Blueprint: App URL → AI generates 3–4 ad groups + 15 headlines/group + 4 descriptions + sitelinks/callouts. You activate them.
  2. Daily optimizer (auto): extracts search terms → identifies waste → suggests "Add negative keyword: X" or "Pause Y". Logged with undo.
  3. Auto-Pilot: safe actions applied automatically (negative keywords). Risky ones require 1-click approval.

Charts

  • Cost & Conversions/day (time-series)
  • Search terms breakdown (top performers)
  • Competitor insights (if available from ASA API)

Limits

  • Accounts: 1 active per user (switch from dropdown)
  • Update: daily (overnight)
  • Search term history: last 90 days

Error messages

"Developer Token missing" — admin must configure the ASA API key
"Account not connected" — OAuth expired or revoked

💬 SMS Mode

SMS campaigns with GSM-7, drip validation, automatic opt-out.

SMS Accounts (admin-only)

  • Gateway SMS (RO): Connection ID + Password
  • Gateway SMS (international): API credentials + phone number
  • Webhook STOP replies: auto-blacklist when recipient replies "STOP" (legally required)

SMS Templates

Character limits (CRITICAL)

  • GSM-7 (no diacritics): 160 chars = 1 SMS, 153 chars/segment for multi-part
  • Unicode (with ă/â/î/ş/ţ): 70 chars = 1 SMS, 67 chars/segment
  • UI validation: real-time counter shows "153 chars remaining (1 SMS)" or warns "With diacritics: 67 chars (UCS-2)"

Variables: {{nume}} / {{firma}} / {{oras}} / {{telefon}}

Library: 16 pre-built templates (RO market examples).

SMS Campaigns

  • Recipient modes: all with phone / list / tags
  • Throttle: 5–60s recommended (avoids carrier blocks)
  • Schedule: immediately or scheduled (NOT before 08:00, NOT after 22:00 — legal compliance)
  • A/B test: optional variant B (split 50/50)
  • Drip: follow-up if no reply (less frequent than email)

SMS Drip sequences

Max 5 follow-ups. Trigger: "No reply after 3 days" → SMS2. Auto-stop on reply or unsubscribe.

SMS Reports

  • Status per recipient (sent / delivered / failed / bounced)
  • Breakdown: carrier blocks / invalid numbers / opt-outs
  • Total volume, debounce rate

Limits & constraints

  • Daily: ~1000 SMS/account (provider + plan limit)
  • Sender name: max 11 alphanumeric characters (requires 1–2 day approval)
  • Opt-in: MANDATORY in the EU (RO included)
  • Unsubscribe: every SMS must include "STOP" or similar

Error messages

"Message exceeds GSM-7 limit" — diacritics → UCS-2 multi-part
"Select a list"
"SMS Gateway is not connected"

💳 Plan & Subscription

Settings → Plan. Stripe handles payment; your card is not stored by us.

Current plan card

  • Tier (Free / Starter / Pro / Business / Enterprise)
  • Monthly cost (for paying users)
  • Included features (checkmark list)
  • Renew date / current period end

Usage breakdown – current month

  • Emails sent / Monthly limit
  • SMS sent / Limit
  • AI Conversations / Limit
  • Agent calls / Limit
  • Approved agent messages

Actions

  • Upgrade / Downgrade — anytime. The difference is automatically prorated in Stripe.
  • Pause — up to 3 months. While paused you don't pay, but you can't send.
  • Cancel — at the end of the paid period. Data is retained for 30 days, then purged.
  • Manage in Stripe Portal — change card, download invoices

Tier limits (indicative)

PlanEmails/monthSMSAI agentsAds accounts
Free~100011
Starter~5K50021
Pro~10K2K53
Business~50K10K308
Enterpriseunlimitedunlimited100unlimited

Error messages

"Plan limit exceeded. Upgrade in Settings."
"Plan suspended — resume payment"

⚙️ Settings (all tabs)

Profile

  • KPI strip: "Member for X days" / "Last login" / "Active sessions" / "Role"
  • Avatar URL or auto initials
  • Full name (used in greeting + AI signatures)
  • Language: 🇷🇴 Română / 🇬🇧 English (toggle UI)
  • Time zone: Europe/Bucharest default + 7 other options

Security

  • Change password (current + new + confirm)
  • Email verify status
  • 2FA — toggle (coming soon)
  • Delete account: "Request permanent deletion" → 30 grace days (cancellable) → purge

Active sessions

  • Current session: device + location + last active
  • Other sessions: full list with fingerprints
  • Revoke session per row (X)
  • Logout all others — a single button

Account activity (audit log)

Event timeline: Login / Campaign started / Template created / Password changed. Per entry: timestamp / action / IP / User-Agent. Filter by date. Max 100/page.

Notifications

  • Browser notifications toggle
  • Preferences table by event:
    • Columns: In-app / Email / Browser (checkboxes)
    • Per event-type: Campaign started, Reply received, AI draft pending, etc.
  • Auto-saved on change

Company (per-user, GDPR + CAN-SPAM)

  • Company name — appears in email footer
  • Company website — clickable link
  • Office address — GDPR required
  • Unsubscribe text — free-form + unsubscribe link
  • Default signature — used by AI if you don't specify another

Google Calendar

  • Connect Google Calendar (OAuth)
  • Default meeting duration (15 / 30 / 60 min)
  • Calendar selection — choose which of your calendars

Plan & billing

View Plan & Subscription.

GDPR Export

  • Large button: "📥 Download ZIP export"
  • Contains CSVs: businesses.csv / campaigns.csv / campaign_recipients.csv / email_templates.csv / products.csv / audit_log.csv / profile.csv + metadata.json
  • Passwords/tokens are [REDACTED]
  • Automatically audit-logged (each export appears in Account Activity)

Admin-only tabs (only is_admin=1)

  • Sending — provider rate limits, throttle defaults
  • System — DB health, queue, error logs

📈 Deliverability — how to stay out of Spam

  1. SPF + DKIM + DMARC configured (see SMTP Accounts)
  2. Automatic warm-up: new account starts at 10 emails/day, gradually increases to 100 (~30 days)
  3. List hygiene: hard bounces are auto-suppressed. Recipients who haven't opened 10+ emails are excluded.
  4. Daily limit per account: 50–100 emails/day/account at the start
  5. Dedicated folder: separate domain/subdomain (outreach.firma.ro) so you don't damage the main domain's reputation
  6. Content: avoid CAPS LOCK, too many links, "FREE!!!", "URGENT". Real personalization reduces spam score.

In Reports → Deliverability view bounce rate per domain. Below 2% is OK, above 5% — pause + investigate.

🔒 GDPR & Unsubscribe

Compliance built-in

  • List-Unsubscribe header (RFC 8058) — Gmail/Outlook shows native "Unsubscribe" button
  • Footer with unsubscribe link in every automated email
  • One-click unsubscribe page (GET or POST), no confirmation
  • Per-tenant scope: unsubscribing from user A does not stop user B's campaigns
  • Re-subscribe available — the user can go back
  • Consent log immutable for audit

Your rights (as a MarketHub user)

  • GDPR Export (Art. 20): Settings → GDPR Export → ZIP with CSVs
  • Account deletion (Art. 17): Settings → Security → 30 grace days, cancellable
  • Audit log access: Settings → Account activity

🛠 Troubleshooting

"Test SMTP" fails

  • For Gmail — an app password is required, not your account password (myaccount.google.com/apppasswords)
  • Port 465 vs 587 — try a different port
  • Firewall provider — some hosting providers block 25/465 outbound

The campaign stopped without an error

  • Plan quota likely reached — Settings → Plan
  • Or all SMTP accounts have reached the daily limit — auto-resume at 00:00 UTC

Emails land in Spam

  • Check SPF/DKIM/DMARC for your domain (Accounts → DNS)
  • Use a dedicated domain for cold outreach
  • Reduce volume to 30–50 emails/account for the first 14 days
  • Personalize content — identical templates = spam signal

I'm not receiving replies in the UI even though I have replies in my inbox

  • IMAP configured & tested OK?
  • Accounts → Test IMAP → run manually
  • Polling requires a Message-ID match — if a lead replies without using "Reply" (new email), fuzzy matching may be skipped

"Failed: connection timeout" on SMTP send

  • The provider has blocked the IP (rate limit) — wait 1h
  • Wrong SMTP host (check your email account settings)

SMS not being delivered

  • Check SMS credit (admin)
  • Sender name approved?
  • Diacritics double the cost (UCS-2 = 70 chars/SMS)

Apple/Google Ads — "Developer Token missing"

The admin must configure the Developer Token + OAuth Client ID/Secret in Admin → Platform Keys. For Google, the token requires 24–72h approval.

❓ Frequently Asked Questions

What happens if I change my mind after deleting my account?
You have 30 grace days. During this period you can cancel the request from Settings → Security and everything returns to normal — the Stripe subscription will be reactivated automatically.
Can I use MarketHub for newsletters (not cold outreach)?
Yes, but the platform is optimized for cold outreach. For mass newsletters with 10k+ recipients per send, we recommend Mailchimp/Brevo — you'll have a dedicated sender reputation there.
How many SMTP accounts can I add?
Varies by plan: Free 1, Starter 1, Pro 3, Business 8, Enterprise unlimited. See Settings → Plan.
Is my data private from other MarketHub users?
Yes. Strict multi-tenant — each user has their own isolated space. Platform admins can impersonate for technical support, but you receive an automatic email when this happens.
How do I export my data before deleting my account?
Settings → GDPR Export → "Download ZIP export". You receive CSVs for contacts, campaigns, templates, messages, audit log, and profile.
What happens to active campaigns if I cancel my subscription?
They remain active until the end of the paid period. After downgrading to free, anything exceeding the free limit is automatically stopped.
Can I connect multiple different email domains?
Yes. Each SMTP account has its own domain. We recommend a dedicated domain per "brand" / "campaign" to isolate reputation.
What happens if my email is reported as spam?
The bounce is classified as hard, the recipient is added to the suppression list. If the complaint rate exceeds 0.3%, the SMTP account is flagged for investigation.
Does the AI have access to the content of my emails?
Only for features you explicitly opt into (AI Copywriter, per-contact personalization, reply intent classification). We never send anything to Anthropic/OpenAI without your consent.
Can I recover contacts after deleting them?
No — deletion is irreversible. We recommend you use Blacklist instead if you just want to exclude them from campaigns.
How do I change the email address I signed in with?
The account email cannot be changed from the UI. Contact office@caiostudio.eu with a written request from the old address.
What does "warmup" mean for an SMTP account?
For new accounts (<30 days), gradual sending (10 → 20 → 40 → 100/day over 4 weeks) builds your reputation. Without warmup, your first emails are guaranteed to land in Spam.

📞 Contact & Support

Average response time: 4–12h on business days.

📞 For operational emergencies (server down, payment issues), include "URGENT" in the subject + describe what you tried. We respond with priority.