Overview

What is Smaily Connect?

Smaily Connect links your Shopify store to your own Smaily email-marketing account and, optionally, to Smaily Campaign Intelligence (personalised product recommendations and purchase-based automations).

It does three things:

  • Syncs contacts — customers who have opted in flow into your Smaily contact list.
  • Triggers automations — store events (welcome, first order, abandoned checkout) start your Smaily workflows.
  • Powers recommendations — when you connect Campaign Intelligence, your catalog, customers and orders seed personalised recommendations and intelligence-run automations.

Your data stays yours. Contacts live in your Smaily account; the app only connects the two systems.

How the pieces fit together

There are three systems:

  • Shopify — your store: customers, orders, products, and storefront events.
  • Smaily — your email-marketing account, where contacts and automation workflows live (yourcompany.sendsmaily.net).
  • Campaign Intelligence — Smaily's recommendation engine at intelligence.smaily.com. Optional, connected with a one-time setup link.

Smaily Connect is the bridge. Shopify sends events and data to the app; the app forwards contacts and triggers to Smaily, and (if connected) catalog/customer/order data to Campaign Intelligence.

Before you start

You need:

  • A Smaily account with API access. You create API users in Smaily under Preferences → API.
  • (Optional) A Campaign Intelligence setup link — a one-time link Smaily provides if you use the recommendation add-on.

Everything is set up through a short wizard, described next.

Getting started

After install: the Dashboard

When you open the app it lands on the Dashboard. Until setup is complete it shows Setup incomplete with a prompt to connect Smaily and/or Campaign Intelligence, and a Setup wizard / Resume setup button.

Once things are running the Dashboard shows either Everything's running or Running — with failures to review (with a link to the Event log).

The setup wizard has 6 steps. Steps 2 and later stay locked until your Smaily connection is verified.

Step 1 — Connect your Smaily account

Enter your Smaily API credentials. The app verifies them before saving.

  • Subdomain — the part before .sendsmaily.net (e.g. yourcompany).
  • API username and API password — create these in Smaily under Preferences → API.

Press Test connection. On success you'll see Verified and Connection verified — N active automations found. You can change these credentials later under Settings → Connection.

Step 2 — Subscribers

Choose who is synced to Smaily and which fields ride along, then bring your existing customers over.

  • Pick a consent preset (see Subscribers settings). The default sends only customers who opted in.
  • Email and language are always synced; pick any additional fields you want.
  • Under Bring existing customers over, start the one-time Contacts import. It runs in the background — you can leave the page and it keeps going.

Step 3 — Automations

Map store events to your Smaily automation workflows.

  • Store-run triggers: Welcome (a new customer opts in), First order (a customer's first order), Abandoned checkout (checkout started but not completed).
  • If you connect Campaign Intelligence, you can also configure Engine-run recommendation automations here — the engine decides when to enrol each contact.

Your Smaily workflows must exist in Smaily first; the app lists them for you to map.

Step 4 — Campaign Intelligence (optional)

Connect Smaily Campaign Intelligence for personalised recommendations, browse tracking and intelligence-powered campaigns.

  • Paste the one-time setup link you received from Smaily (it looks like https://…/setup/…) and press Connect Campaign Intelligence. The link can be used exactly once.
  • Once connected, seed history with the Products, Customers and Orders imports — safe to re-run, duplicates are impossible by design.
  • Optionally enable Browse tracking and Recommendation attribution (see Campaign Intelligence settings).

Step 5 — Integrations

Wire Smaily into your storefront.

  • Newsletter signup block — in the theme editor (Online Store → Themes → Customize) add the Smaily newsletter form block to any section. Signups land in your Smaily contacts automatically.
  • Product RSS feed — a URL you paste into Smaily's template editor to load store products into campaigns. Configure it under Settings → Integrations.

Step 6 — Finish

A summary of everything you configured. Subscriber sync, automations and storefront integrations activate as their configuration becomes available.

Press Finish setup. (If your Smaily account isn't connected yet, you'll be asked to connect it before finishing.) You can revisit and change anything later under Settings.

Settings

Connection

Manage the Smaily account Smaily Connect sends through. Credentials are validated against Smaily before they are saved.

  • When connected you'll see Verified and Connected as USERNAME @ subdomain.sendsmaily.net.
  • Update credentials changes the API user.
  • Disconnect stops contact sync until you reconnect.

If your store sells in more than one language, this tab also offers a multilingual mode (a separate Smaily account or workflow per language).

Subscribers

Controls who is copied to your Smaily contact list and which fields are sent.

Sync contacts to Smaily — the master switch. When off, customers are no longer copied to Smaily; existing contacts and Smaily automations are unaffected.

Who is synced (consent presets)

Choose by your lawful basis for marketing email. The default is the consent-safe option.

  • Subscribers only (consent) (default) — only customers who opted in to email marketing are sent. Smaily unsubscribes are mirrored back to the customer's Shopify marketing consent (needs the Allow consent sync permission).
  • All customers (legitimate interest) — every customer is sent regardless of marketing consent. Requires a lawful basis.
  • Checkout opt-in only — only shoppers who accept marketing at checkout are sent (guests included). No account sync, no sync-back.

Fields to sync

Email is always synced (it identifies the contact) and language is always synced (it routes contacts to the right account in multilingual setups). Pick any additional fields you want copied.

You can also sync guest-order email addresses, and (in legitimate-interest mode) force opt-in on automation triggers.

Automations

Two kinds of automation live here.

Store-run triggers

Map a store event to a Smaily workflow: Welcome, First order, Abandoned checkout. Abandoned checkout has a Send after delay (minutes of inactivity before a checkout counts as abandoned).

If no workflows appear: none were found on your Smaily account (or Smaily couldn't be reached). Create the automations in Smaily first, then revisit.

If a workflow you previously mapped is later disabled in Smaily, it stays in the dropdown — labelled " — disabled in Smaily" — instead of silently disappearing, so saving this page never drops your setting. Re-enable the workflow in Smaily, or pick another one, then save.

Engine-run recommendation automations

These are triggered by Campaign Intelligence, not by a store event — the engine enrols each contact into the Smaily workflow you pick at the moment it predicts (a replenishment running out, a customer at risk of churning). Per automation you set:

  • an Enable toggle and the Smaily workflow to use;
  • a Cooldown — minimum days between two fires for the same customer (1–365);
  • Test mode — while on, emails go only to your Test addresses (comma-separated, up to 50), never to customers. Use Activate for real… to go live.

A test-mode automation with no test addresses sends to no one until you add at least one address.

If the workflow you picked here is later disabled in Smaily, it stays in the dropdown — labelled "Workflow # — disabled in Smaily" — instead of silently disappearing, so saving this page never drops your setting. Re-enable the workflow in Smaily, or pick another one, then save.

Campaign Intelligence

When connected, this tab shows the connection (with Test and Disconnect) plus:

  • Import existing data — seed history so recommendations have something to learn from (Products / Customers / Orders). Safe to re-run.
  • Browse tracking — captures product and category views to power similar products recommendations. Off by default; only runs when the visitor has granted analytics consent.
  • Recommendation attribution — credits store purchases to the recommendation that drove them. Required for any attribution numbers to appear; you enable it on your storefront with one click (it opens your theme editor with the embed pre-enabled — just press Save).

Test confirms the connection is healthy. Disconnect stops recommendations and ingest; reconnecting needs a fresh setup link.

Integrations

Storefront newsletter block

Add the Smaily newsletter form block to your theme (Online Store → Themes → Customize). Signups land in your Smaily contacts automatically. The block inherits your theme's fonts and colours; configure the heading, button label and consent text in the theme editor.

Recommendation preferences block

Add the Smaily personalisation block (same theme editor) to a page of your choice — a privacy or account-related page works well. Logged-in customers see a Use my data for personalised recommendations checkbox and can opt out (or back in) at any time; visitors who are not logged in are asked to log in first. The choice is stored on the customer's Smaily contact and honoured everywhere: browse tracking and personalised recommendations stop for that customer, while ordinary marketing emails continue unless they unsubscribe. All texts are editable in the theme editor.

Product RSS feed

A URL that loads store products into Smaily campaigns. The controls only shape the URL — nothing is saved. Adjust Collection, Limit (10–250) and Sort by, press Update URL, then copy the Feed URL into Smaily's template editor.

Importing existing data

What gets imported

Imports (also called backfills) seed your existing data so sync and recommendations have history to work from. There are four:

  • Contacts → your Smaily contact list (from Subscribers).
  • Products, Customers, Orders → Campaign Intelligence (from Campaign Intelligence).

Each is a one-time bulk import that runs in the background — you can leave the page and it keeps going. It is safe to re-run: duplicates are impossible by design. Press Sync now the first time, Sync again afterwards.

Orders — full history. By default Shopify only lets apps read the last 60 days of orders, so the Orders import seeds just that window. To import your complete purchase history, press Read all orders on the Import your full order history? prompt just above the Orders import and approve the one-time permission, then Sync again.

Reading the progress

While running you'll see Importing… with a count. For Products and Customers a progress bar fills toward the known total. Orders shows a running count until you grant Read all orders — once granted it also fills toward the known total. When it finishes, the status line means:

Status Meaning
Done — N synced. Everything imported cleanly.
Done — N of M synced. Finished; a few records were rejected (usually invalid data, e.g. a malformed email). The rest are in.
Stopped — N processed before an error. The import hit a real error and halted. See the error banner for what to do.
Cancelled — N processed. You cancelled it.

If some records failed you'll see a N failed — see Event log link — open it to see exactly which records and why.

Error messages & fixes

Smaily connection errors

  • Smaily rejected these credentials (401) — the subdomain, username or password is wrong. Double-check them in Smaily under Preferences → API.
  • Could not reach Smaily — a temporary network issue; try again.
  • All three fields are required / Subdomain may contain only letters, numbers and dashes — fix the input and retry.

Campaign Intelligence errors

  • This setup link was already used — setup links are one-time. Ask Smaily for a fresh one.
  • Setup link not recognized — check you pasted the full URL.
  • Campaign Intelligence did not respond — try Test again shortly; if it persists, contact support.
  • Campaign Intelligence rejected the stored API key — the key was revoked or rotated. Disconnect, reconnect with a fresh setup link, then return.

Permission prompts

Some features ask for a one-time Shopify permission. Approve it when Shopify asks, then retry the action.

  • Enable multilingual sends — grants read access to your store's languages/translations. Needed for multilingual sending and for the Products import. If a Products import shows needs a one-time permission to read your store's languages, press this, approve, then Sync again.
  • Allow consent sync — lets Smaily unsubscribes update the customer's marketing consent in Shopify (subscribers-only mode). Without it, sync still works — the unsubscribe just isn't reflected on the Shopify customer record.
  • Browse tracking permissions — if enabling browse tracking fails, grant the permissions when Shopify asks, then turn it on again.

Failed events & retry

The Event log lists what the app sent and any failures. If some records didn't reach their destination you'll see N events failed in the last 24 hours.

  • Use View only failed to narrow the list.
  • Retry failed ingest (N) re-queues failed records backed by the queue for another attempt.

Only queued records (to Campaign Intelligence) can be retried — they still hold their payload. A Smaily send can't be replayed.

FAQ & troubleshooting

Is it safe to re-sync?

Yes. Every import is safe to re-run — duplicates are impossible by design. Sync again re-runs from scratch, in the background, and survives you leaving the page.

How often does data sync?

Smaily Connect works at two speeds:

  • Near-real-time (webhooks) — when a customer is created or updated, changes their marketing consent, or places an order or checkout, Shopify notifies the app within seconds and it syncs straight away.
  • Every 15 minutes (background) — a scheduled job retries anything still queued (for example to Campaign Intelligence), processes abandoned checkouts, and mirrors Smaily unsubscribes back to Shopify.

One-time imports run when you press Sync now / Sync again and then continue in the background.

Why do I see fewer orders than expected?

The Orders import currently sees only the last 60 days. That is a Shopify limit on the standard order permission the app uses — not a bug, and no data is lost.

Full order history needs an extended permission (read_all_orders) that requires Shopify's approval. We are requesting it; once granted, re-running the Orders import brings your full history in.

Is my whole customer list imported?

Yes. The customer import is not truncated — Shopify's privacy protections only redact individual fields, they never drop customers. If the number looks lower than you expect, note that a store with many orders often has far fewer unique customers (repeat buyers).

What does Disconnect do?

  • Disconnect Smaily — contact sync stops until you reconnect. Existing contacts and Smaily automations are untouched.
  • Disconnect Campaign Intelligence — recommendations and data ingest stop. Reconnecting needs a fresh one-time setup link.

Does uninstalling delete my data?

Uninstalling removes the app's access and, after Shopify's data-retention window, purges the app's local store data.

Your Smaily contacts and any Campaign Intelligence data persist — deliberately, so you can migrate platforms without losing your marketing history. Per-customer erasure is always available on request, and Shopify's standard privacy (redact) requests are honoured automatically.

Data & privacy

What data the app uses

  • Customer name and email — to sync subscribers/customers to your Smaily account and (with Campaign Intelligence) as the per-customer identity.
  • Order and product data — to power automations and, when enabled, recommendations.
  • Anonymous browse events — only via Shopify's sandboxed Web Pixel, gated by Shopify's customer-privacy (consent) settings.

The app requests only name and email — no phone numbers, no postal addresses.

Deletion & GDPR

The app honours Shopify's mandatory privacy webhooks:

  • Customer data request — exports the customer's data.
  • Customer redact — deletes the customer from the app and Campaign Intelligence.
  • Shop redact — purges all of the store's local data.

See the full privacy policy for details.

Profiling opt-out (personalised recommendations)

Campaign Intelligence personalises recommendations by default for your synced contacts. GDPR gives buyers the right to object to this profiling separately from unsubscribing — the app keeps the two consents strictly apart:

  • Opting out of profiling stops browse tracking and personalised recommendations for that customer. Their data is retained but no longer used, and the choice is reversible. Marketing emails continue as before.
  • Unsubscribing from marketing also stops profiling (the stronger signal).

Give buyers this control by adding the Smaily personalisation block to your storefront (see Settings → Integrations above). The choice is recorded on the customer's Smaily contact with a timestamp (the GDPR proof) and enforced immediately in Campaign Intelligence.

Because profiling is on by default, your store's privacy policy should mention that purchase and browsing data is used to personalise recommendations — transparency is what makes the opt-out model lawful.

Security & isolation

  • Per-store isolation — every query, queued record and engine call is scoped to your store.
  • Secrets never reach the browser — API keys and passwords stay server-side; event records store ids only, never tokens or personal data.

The app is operated by Sendsmaily OÜ. Questions: info@smaily.com.