Rules are how you control which delivery estimate ArrivesBy shows — and to whom. Each rule defines which products it applies to, any additional filters (market, region, location), and the lead and transit times to display.
When a customer views a product, ArrivesBy finds every rule that matches and applies the most specific one.
Creating a rule
Click Add rule from the Rules page to create a new rule. Every rule has a name, a scope (what it applies to), optional additional filters, and delivery time settings.
Rule name
The name is for your reference only — customers never see it. Use something descriptive like "Express shipping — US East" or "Preorder: Spring Drop."
Status
A rule can be set to Active (live immediately) or Draft (saved but not applied). You can also schedule a rule to activate and expire on specific dates — see Publishing schedule below.
Applies to
This section controls which products the rule targets, plus any additional filters that narrow it further. Click + Add condition and choose a field — the menu covers Shipping region, Location, Market, Product type, Tag, Vendor, Specific collections, and Specific products or variants.
How conditions combine depends on the field:
Shipping region, Location, Market — every one you add must match. Multiple values in the same field still work as "either" — Market = "United States" or "Canada" matches both.
Product type, Tag, Vendor, Specific collections, Specific products or variants — a product matches if it satisfies any one of these. For example, Tag = "fragile" or Product type = "Furniture" applies to products tagged "fragile" or products with type "Furniture."
Add conditions from both lists and they combine: the product must match at least one condition from the second list and every condition from the first. Add nothing from the second list and the rule applies to every product.
Selecting Specific collections or Specific products or variants opens Shopify's resource picker so you can select multiple items at once. The other fields add one value per row — pick a value, then click + Add condition again to add another row for the same field or a different one.
Permissions required
Market and location filters require ArrivesBy to have read access to your markets and locations. If you see a prompt to enable permissions, grant access so ArrivesBy can show location- and market-specific delivery dates.
Market
Scope the rule to a specific Shopify market (for example, "United States" or "European Union"). Only customers shopping in that market will see this rule's estimates. Don't add a Market condition to apply to all markets.
Location
Scope the rule to orders fulfilled from a specific warehouse or fulfillment location. This is useful when your processing time varies by location — for example, your main warehouse ships in 1 day, but a secondary warehouse takes 3 days.
Shipping region
Scope the rule to a custom shipping region defined in ArrivesBy. Shipping regions let you group states and provinces into named delivery zones and apply different transit times to each. Supported countries: US, Canada, Australia, and New Zealand. → Learn about geolocation & shipping regions
Lead time
Lead time is how long it takes for an order to be ready to ship after it's placed. ArrivesBy counts lead time in business days — the days your store processes and ships orders, as configured in your shop settings.
In-stock lead time
The Show delivery estimates toggle in this section controls whether estimates appear for products that are in stock.
On — estimates show for in-stock products. Enter the number of business days it takes you to process and ship an order. Use 0 for same-day dispatch.
Off — no estimate is shown for in-stock products. Useful if you want to hide estimates for a specific product group or suppress them entirely for this rule.
Preorder / out-of-stock lead time
This section controls estimates for products that have 0 inventory but are set to continue selling when out of stock in Shopify (preorder mode).
Off — no estimate is shown for out-of-stock products.
On — estimates show for out-of-stock products. Choose one of two modes:
Business days — enter the number of business days until the order ships. This works the same as in-stock lead time but only applies when the product is out of stock.
Specific date — enter the exact date the order will ship. This is ideal for preorder products with a known restock or release date. ArrivesBy uses this as the ship date directly, jumping ahead to the next business day if it falls on a non-processing day.
Expired ship dates
If the specific ship date has passed, ArrivesBy will not show estimates for out-of-stock products until you update the date. Expired rules are flagged in the rules list.
Transit time
Transit time is how long the carrier takes to deliver after the order ships. Enter a min and max transit time in business days. ArrivesBy displays this as a date range to the customer — for example, "Arrives between Jun 12 – Jun 15."
To show a single exact date, enter the same value in both fields (or leave max blank).
Transit days are counted based on carrier operating days, configured in your shop settings.
Publishing schedule
Rules support optional Activate on and Expire on dates, useful for seasonal promotions, sale events, or temporary preorder windows.
Activate on — the rule goes live on this date. Before this date it behaves as a Draft even if its status is set to Active.
Expire on — the rule deactivates after this date and shows as Expired in the rules list.
Leave both fields blank for a rule that is always active. Rules can have four computed states:
Active — live now
Draft — manually set to Draft, not applied
Scheduled — status is Active, but Activate on is in the future
Expired — status is Active, but Expire on has passed
How rules are prioritized
When multiple rules match a product, ArrivesBy applies them in layers — each layer can override the one before it. The order, from lowest to highest priority, is:
Product rules — the base layer. When multiple product rules match, more specific conditions win over broader ones (for example, a rule targeting a specific collection beats a rule with no Tag, Product type, Vendor, collection, or product conditions, which applies to everything).
Market and location rules — always applied last and always win, regardless of how specific the matching product rule is.
Example
You have a broad, all-products rule (3–5 day transit) and a product rule for your "Furniture" collection (7–10 days). You also have a market/location rule for the West coast (1–2 days). A West coast customer looking at a Furniture product will see 1–2 days — the market rule wins even though the Furniture rule is more specific than your all-products rule.
If no rule matches
ArrivesBy doesn't create a rule for you automatically. If a product doesn't match any of your rules — or you haven't created any yet — no delivery estimate is shown for it on your storefront.
To give every product a baseline estimate, create a rule with no Tag, Product type, Vendor, collection, or product conditions (see Applies to above) and give it the lowest priority so more specific rules can still override it.
In the Shopify theme editor's design mode, the ArrivesBy block shows a "no rules configured" warning so you can catch a missing baseline while you're setting up — customers never see this warning on your live storefront.
Troubleshooting
Rule systems can get complicated quickly. If you have many rules active at the same time — targeting overlapping collections, tags, vendors, or markets — it can be hard to predict which rule will win for a given product and customer. When a product matches multiple rules at the same priority level, the outcome may not be what you expect.
The best way to diagnose what's happening is to use the debug mode in Shopify's online theme editor.
Open your store in the Shopify theme editor (Online Store → Themes → Customize).
Navigate to a product page that's showing an unexpected estimate.
Click the ArrivesBy app block to select it.
In the block settings, enable Debug mode.
With debug mode on, the ArrivesBy block displays the name of the rule that produced the current estimate alongside the delivery dates. This tells you exactly which rule is winning — so you can go back to the Rules page and adjust its scope or priority accordingly.
Tips for keeping rules manageable
Start with a broad, all-products rule (no Tag, Product type, Vendor, collection, or product conditions) and add specific rules only when you need different times for a subset of products.
Avoid creating multiple rules that could match the same product at the same priority level — use more specific conditions (individual products or collections) rather than broad attribute rules that might overlap.
Test your rules in the theme editor with Troubleshooting mode if you ever see something unexpected.








