For the complete documentation index, see llms.txt. This page is also available as Markdown.

Scheduled automations

Credit a group of customers on a date or on a repeating cycle — birthdays, anniversaries, and recurring loyalty drops.

A scheduled automation credits a group of customers at a point in time, rather than reacting to an order. Use it for birthday and anniversary rewards, monthly loyalty credit, or a one-off campaign for a segment.

Scheduled automations are a paid feature. On the Free plan they appear in the Add automation picker with an Upgrade to activate button. See plans & billing.

Creating a rule

Click Add automation and choose Scheduled.

Amount

A fixed amount per customer, in your shop's primary currency. Every recipient in a run receives the same amount — percentages don't apply, because there is no order to take a percentage of.

Notify customers by email is on by default and sends Shopify's store credit email. You can send your own Store Credit Alert email instead, which counts toward your monthly email allowance. Turn it off for silent top-ups.

Audience

Who gets credited when the rule runs.

Option
Recipients

Specific customer segments

Everyone in one Shopify customer segment

Specific customers

A hand-picked list

Customer query

Everyone matching a segment query you write, evaluated at run time

All customers

Your entire customer list

The audience is resolved fresh on every run, so a repeating rule automatically picks up customers who joined the segment since last time.

Customer queries

A customer query uses Shopify's segment query language, evaluated when the rule runs. This is what makes date-driven rewards possible.

Notes that will save you time:

  • Function parameters must be named. anniversary(date: '…') works; anniversary('…') is rejected.

  • A customer metafield is only usable in a query once a metafield definition exists for it in your Shopify admin, of type date, number, text, or boolean.

  • Relative dates like today resolve in your shop's timezone.

The form validates a query and shows how many customers currently match before you save.

Schedule

Set a start date, a start time, and a timezone. The timezone is stored with the rule, so a 09:00 run stays at 09:00 through daylight saving changes.

Enable Repeat to run on a cycle — every n days, weeks, months, or years. Without it the rule runs once and then deactivates itself, freeing its slot against your plan's active-automation limit.

Runs are picked up by a scheduler that checks for due rules regularly, so a run may start a short time after the exact minute you set. It will not be missed.

Activating a rule after its start time. If you activate or save a rule up to 15 minutes after its start time, its first run still happens straight away. Any later than that, and the first run is the next scheduled repeat. A rule that doesn't repeat won't run at all, so set a new start time before activating it.

After issuing

This is what makes recurring anniversary rewards work correctly.

Consider a rule targeting anniversary(date: 'metafields.facts.birth_date') = today that repeats daily. Without a follow-up action, a customer whose birthday is today matches again tomorrow — and every day after — because the metafield still holds the same date.

After issuing updates that metafield on the customers who were just credited:

Action
Effect

Nothing

Leave customer metafields untouched

Clear the metafield

Delete the value, so the customer stops matching entirely

Roll the date forward

Add an interval — for example 12 months — so they match again next cycle

Only customers who were successfully credited are updated. A failed credit never consumes its anniversary date.

Rolling forward clamps to the end of the target month rather than overflowing: 31 January plus one month is 28 February, not 3 March. This stops anniversary dates drifting over the years.

Priority

When several scheduled rules come due at the same time, priority sets the order — lower numbers run first. This matters for tiered programs, where you want the highest tier evaluated before a catch-all rule.

Run results

Each run records how many customers were resolved, how many were credited, how many failed, and the amount per customer. Individual failures are written to the run log with the customer's email. See Run history.

A run is marked failed only when every credit failed; partial failures complete with the failure count recorded.

Last updated