Use anchors to control subscription timing
  • 03 May 2023
  • 4 Minutes to read
  • Dark
    Light

Use anchors to control subscription timing

  • Dark
    Light

Article Summary

Setting up "anchors" on your subscription plans lets you control when customers are billed and when their fulfillments are scheduled. For example, you can use anchors to set up weekly subscriptions that bill and create new orders only on Thursdays. Or, monthly orders can be anchored to the 1st of the month. Anchors don't affect when new subscriptions can be purchased. Customers can always checkout on your store regardless of your anchor setup.

Create your first anchor

In this example we'll add an anchor to a weekly subscription plan that ensures recurring orders are always placed on either a Tuesday or a Thursday. Customers' first orders will always be immediately fulfillable in this example as we're using the ASAP pre-anchor behavior. See the discussion below for more information on this.

Anchors can be added to each subscription plan from the "Order fulfillment behavior" section of the Subscription Plans tab in Subscription Herder. This example assumes you have already created a subscription plan with a weekly recurring schedule. Other recurrence schedules also work with weekday anchors, however, weekly is the simplest to reason about.

Checkout our Create a subscription plan group article if you need help setting up a subscription plan.

Follow these steps to create Tuesday and Thursday anchors with the default behavior:

  1. Select "Anchor fulfillments to specific day(s)"
  2. Leave "Pre-anchor delivery behavior" as ASAP and "Cycle cutoff days" as their default values
  3. Click "Add anchor date" to ensure you have 2 boxes for configuring anchors
  4. In the first anchor box pick "Day of week" for anchor type and Tuesday for "Week day"
  5. In the second anchor box pick "Day of week" for anchor type and Thursday for "Week day"
  6. Save the changes to your subscription plan

Here is a screenshot showing the final configuration of anchors following the above.

When customers purchase a subscription that is associated with this subscription plan they'll see the following behavior (assuming an "every week" billing schedule):

  • If a customer purchases on Tuesday or Thursday their first renewal order will be exactly a week later
  • If a customer purchases on a Wednesday then their first renewal order will be the very next day (Thursday)
  • If a customer purchases on a Saturday then their first renewal order will be on the following Tuesday

For a weekly recurrence schedule it may not be desirable to bill customers renewal orders so soon after their initial purchase. The following two sections discuss ways that you can control this behavior.

Change the pre-anchor behavior for customers' initial orders

In the example above we used the pre-anchor behavior of "ASAP" which for a weekly, recurring order can result in the first renewal order (second overall order) happening too soon after your customers' initial purchases. If we instead change the "Pre-anchor delivery behavior" to "NEXT" then the 3 scenarios outlined above will change to something that may be more reasonable for our weekly customers:

  • If a customer purchases on Tuesday or Thursday then their first renewal will be exactly a week later (same as above)
  • If a customer purchases on a Wednesday then their first scheduled fulfillment will be the following day (Thursday) with their first renewal a week later on Thursday
  • If a customer purchases on a Saturday then their first scheduled fulfillment will be the following Tuesday with their first renewal a week later on Tuesday

Shopify represents an upcoming fulfillment as "Scheduled" in the Orders section. The ASAP pre-anchor behavior only creates scheduled fulfillments if you combine it with cut-off days as described below. The NEXT pre-anchor behavior makes heavy use of Scheduled fulfillments so it's important to be sure your fulfillment process can handle this complexity.

Use cutoff days to push orders to the next anchor

The final option that we left blank above is "Cycle cutoff days". This option lets you more specifically control when an order is "too close" to an anchor and automatically push it to the next available anchor date. Let's assume that we have a monthly subscription that we bill on the 1st of the month. New orders have some lead time and so we don't want to accept orders for the 1st of the month if it is within a week of the 1st. In other words, customers that create orders late in the preceding month will skip the next month of deliveries before entering the regular, monthly schedule.

Here's how our setup changes for anchors for our monthly plan:

We've changed:

  1. Pre-anchor delivery behavior is now NEXT
  2. Cycle cutoff days is 7
  3. Anchor type is Day of month
  4. Day of month is 1

Now, new orders behave differently if customers are within the 7 day end-of-month cutoff:

  • If a customer orders on Nov. 15th then their first order is scheduled for fulfillment on Dec. 1 with renewal on Jan. 1
  • If a customer orders on Nov. 30th then their first order is scheduled for Jan. 1 with renewal on Feb. 1

Cutoff days can also be combined with the ASAP pre-anchor behavior:

  • If a customer orders on Nov. 15 with Pre-anchor behavior ASAP then their first order is immediately fulfillable with renewal on Dec. 1
  • If a customer orders on Nov. 30 with Pre-anchor behavior ASAP then their first order is fulfillable on Dec. 1 with renewal on Jan. 1

Fully custom schedules with "Anchor-only" subscription plans

Subscription Herder offers the ability to setup irregular billing that doesn't fit into any specific recurrence schedule. For example, if your store publishes a magazine with issues released 5 times a year on specific dates. Please get in touch with our support team if you're interested in this feature. 

Effectively using anchors

Anchors are a powerful feature for controlling your billing schedule. Setting up anchors can be complex so please always get in touch if you have questions!


Was this article helpful?