Retail and e-commerce · GuardenerAI Marketing

Email, SMS and WhatsApp marketing for retailers.

Retailers and online shops use GuardenerAI Marketing to send email, SMS and WhatsApp campaigns and welcome journeys to customers synced from their store or imported by CSV, with consent, unsubscribes and suppressions handled, from the same CRM that holds every customer.

Most shops already have the list. What they lack is a way to reach those customers on the channel they actually read, without a separate marketing tool that never quite agrees with the customer records.

Your customers, in the CRM

The E-commerce connectors for Shopify, WooCommerce, BigCommerce and Squarespace pull customers into persons when you run a sync, including email consent.

  • Re-syncing updates existing customers rather than duplicating them.
  • Shopify abandoned checkouts from new shoppers arrive as leads.
  • Orders and spend are not synced. Keep loyalty tier, lifetime spend and last purchase up to date by CSV import.
  • The E-commerce module is switched on per workspace.

Campaigns on three channels

One wizard for every send: Channel, Audience, Message, Sending, Review.

  • Email designed in a block editor with AI assist for subject lines and copy.
  • SMS through Twilio, and WhatsApp through Twilio or Meta with templates whose approval status syncs from Meta.
  • Sends through your own provider: SMTP, SendGrid, Amazon SES, Mailgun or Postmark for email.

A welcome journey that runs itself

Journeys can start when a new person is created, which happens when a new customer arrives from a store sync or an import.

  • Send a welcome email, wait two days, then split on WhatsApp consent: a WhatsApp check-in for those subscribed, a tips email for the rest.
  • Waits are fixed delays; splits test built-in fields, consent, segment membership or RFM group.
  • Every message respects consent per channel and topic, suppressions and your daily send cap.

Segments that stay honest

Segments are built from built-in person fields, consent, membership and RFM groups.

  • Template fields such as Loyalty Tier and Lifetime Spend are custom fields, so segments cannot filter on them. Build a static VIP segment from the Customers view instead, and refresh it after each import.
  • RFM personas (Champions, Loyal, At Risk and more) need purchase events sent to GuardenerAI, which the store connectors do not send.
  • Email reporting covers sent, delivered, bounced, opened, clicked and unsubscribed.

How to set it up

  1. Apply the Retail & E-commerce starter template, and ask us to switch on the E-commerce module.
  2. Connect your store and run a customer sync, or import customers by CSV.
  3. Connect your sending providers for email, SMS and WhatsApp, and choose opt-in or opt-out consent.
  4. Build a welcome journey triggered by a new person, and a static VIP segment from the Customers view.
  5. Send your first campaign through the wizard and watch the email metrics.

Worth knowing

  • Segments filter on built-in person and lead fields, consent, segment membership, posted events and RFM groups. They cannot filter on custom fields (including fields a template adds) or on relative dates such as "in the next 30 days".
  • Store connectors sync customers on demand. They do not sync orders, spend or purchase events.
  • Email opens and clicks are reported but cannot be used as conditions in segments or journeys.
FAQ

Fair questions.

Can I target customers who spent over a set amount?
Not with a dynamic segment, because Lifetime Spend is a custom field. Build a static segment from the Customers view after each import instead.
Does it sync orders from Shopify?
No. The connector syncs customers, consent and, for Shopify, abandoned checkouts as leads. Orders and spend are not synced.
Which WhatsApp providers work?
Twilio or Meta. WhatsApp templates are built in the app, and their approval status syncs from Meta.
Is unsubscribing handled for me?
Yes. Every marketing email carries an unsubscribe link, consent is kept per channel and topic, and hard bounces and complaints are suppressed automatically.