Setup: Options (Order Tags, Showing in Emails, Validation, Interference from Other Apps)

screens: The button "Add Tags" at the top of the screen / left menu "Option"
verified_from: The admin implementation (field names, texts)

PROC-O1 Tag orders with the delivery date (manual)

Where: The button "Add Tags" at the top of the app screen (in the same row as "Save", "Contact" and the language button)
Steps:
1. Press the button "Add Tags" at the top of the admin (the same row has "Save", "Contact" and the language button). After pressing, "Tags were added" is shown
Result: in the order list, the delivery date specified by the customer is added as a tag (YYYY-MM-DD format)
Limit: only orders that are open and within 3 days of the day you press the button are targeted

PROC-O2 Write the delivery date, time and ship date to orders automatically (Shopify Flow)

Where: App left menu "Option" > "Write to orders automatically"
Prerequisite: Shopify Flow (a free Shopify app). No plan restriction (all plans).
Steps (import only once. The "Start setup" button on the "Write to orders automatically" card on the Options screen opens a settings modal that contains the import steps. After importing, the card shows a summary of the settings, and "Open settings" opens the same modal):
1. Install Shopify Flow (if it is not installed)
2. Press the "Download the Flow file" button (Google Drive opens; save the .flow with the download button on that page)
3. Import that file with "Import" at the top right of Flow
4. Open the imported workflow "CC Delivery Date Time Order Created Revision0" and turn it on. Do not rename the workflow
5. If you used the old "AutoTag" Flow, delete it or turn it off (to avoid duplicate tags).
   How to recognise it: the trigger is "Order created", the action is "Add order tags", and the tags use Liquid over order.customAttributes ({% for attribute in … %} etc.)
6. Check "Imported (Revision0)" and press "Save" in the app. The app saves the imported revision number. When the Flow is updated later, stores that imported an older revision see "A newer Flow is available" and replace it by following the steps
Result: every time an order is placed, the items checked under "What to write to the order" are written to the order. It can take 1-2 minutes after the order is placed

“What to write to the order” (checked items are written):

- Tag orders with the delivery date (date format: as displayed / YYYY-MM-DD. No plan restriction. The theme of a store that enabled "Write to orders automatically" passes the selected date directly (4th element of __ccGroup), so "YYYY-MM-DD", date-type metafields, date conditions and the ship date calculation work whatever the store's date display format (abbreviated weekdays, month names, language). Only carts created while the theme was old are read back from the displayed text, so with a format that cannot be read (e.g. Spanish, French or Italian with the abbreviated weekday ddd) no date is set for them. It is separate from the Pro-only date-format change of the old "AutoTag")
- Tag orders with the delivery time
- Labels on tags: "Add a label to the delivery date tag", "... delivery time tag" and "... ship date tag" can be chosen per tag (each shown only when that tag is checked; default is OFF = value only, except that the ship date label turns on automatically when "Add to order tags" is checked (it can be turned off again); when on, the tag looks like "Delivery date: 2026-10-28" / "Ship date: 2026-10-23"). If both the delivery date and the ship date are tagged, values alone are hard to tell apart, so recommend adding labels
- Label text ("Add a label" for tags, order note and metafields): the labels for the delivery date and delivery time are the item names set in the app (the names shown in the customer's cart and the order's additional details, e.g. "Delivery date" / "Delivery time"). Each order uses the name attached to that order, so on a multilingual store an English order gets the English name. Only the ship date label is fixed ("Ship date"). There is no setting to type a custom label; to change it, change the item name in the app settings.
- Two checks under "Save the ship date": "Add to order tags" / "Save to an order metafield" (namespace, key and type (date / text) can be set)
- Append to the order note (items: delivery date, delivery time, ship date, plus the delivery method, input text and shortest-date adjustment items from the app settings (listed as "item name (input text)"), and other additional details. Labels included / value only. Date format. The heading usually stays as it is; the heading field contains the default heading [CC配送日時指定]; leaving the field empty appends without a heading, and lines already in the note are still not added twice). The existing note is kept and lines are appended. Orders whose note already has the heading are not appended twice
- Save the delivery date, time and inputs to order metafields (columns "Namespace" and "Key" per value. "Labels" chooses "Value only" (default) or "Include" (e.g. "Delivery date: 2026-10-28"); values saved as the date type never get a label (a date type can only hold a date; to get a label, save the value as the text type). Values you can save: ship date (date / text), delivery date (date / text), delivery time, delivery date and time together, plus the delivery method, input text and shortest-date adjustment items from the app settings (chosen as "item name (input text)"). Up to 25 including the ship date's "Save to an order metafield")
- Remove internal attributes from the order's additional details (shown only after "Imported" is checked). Removes __ccValid and __ccSlot from the order. The CC group __ccGroup (the internal attribute written temporarily so that Flow can compute the ship date) is always removed at the end of this Flow. They disappear about 15-30 seconds after the order is placed (Flow waits 10 seconds, then re-reads the latest attributes and removes them). If another Flow running at the same time rewrites the order's additional details, they may not be removed. Remaining attributes do not affect the order or delivery
- Conditional rules (optional): "if ..., add / remove order tags, append to the note, add / remove customer tags". Add as many conditions as you like, joined with "all" or "any". Actions for when the rule does not match can also be set. To add a rule, first choose from "What kind of rule do you want to start with?"; for the second and later rules press "+ Add another rule" below the rules. Rules are numbered "Rule 1", "Rule 2", and their conditions and actions can be edited afterwards
- "Convert and write an additional detail" in a conditional rule (Pro plan only; also available on partner development stores; without the Pro plan the "+ Convert and write an additional detail" button is disabled and shows "Available on the Pro plan"; optional; "+ Convert and write an additional detail" under "When matched"): replaces the value of an additional detail on the order and writes it as a new additional detail. Example: when "Drop-off place" is "Front door", write "01" to "Delivery code". Fields: "Source item" (choose an app item, an additional detail used in the rule's conditions, or "Other (type the item name)"), "Conversion table" (from value -> to value; up to 20 rows; values not in the table are written as they are; it may be empty, in which case the value is copied as it is), "Label to write", and "Delete the original additional detail after converting" (default OFF = the original is kept). When the label is the same as the source item, the original value is replaced (it is not kept; delete cannot be chosen). When the label is the same as another existing item, that value is replaced. The delivery date and delivery time can also be the source (the delivery date accepts a "Date format"; empty means 2026-11-20; formats with month or weekday names are not written). The delivery date/time names and names starting with __ cannot be used as the label. Flow writes it about 15-30 seconds after the order, so an external system that imports the order immediately may miss it; in that case use the external system integration in "Integration (Pro plan)". If CSV output or an external system reads the original item, deleting or overwriting it makes it unreadable (or changes it to the converted value), so recommend writing to a different label. Conversions always start from the original values (a conversion never reads another conversion's result). If another Flow rewrites all additional details around 10 seconds after the order (for example, one with its own wait), the conversion may be lost. Nothing is written when the source item is missing, empty or "not specified".
"What this order would get" on the right shows the current settings applied to a trial order, calculated the same way as the real Flow (the trial order can be changed)

How the ship date is decided (the “Ship date calculation” shown when you check “Add to order tags” etc. under “Save the ship date”):

The question "How should the ship date be decided?" has 3 choices:
1. Match the delivery pattern's shortest date (recommended, default): counts back from the delivery date by the pattern's "shortest date" (plus adjustments such as areas), skipping closed weekdays and closed days (counted like the app's calendar). Calendar days added to the shortest date are added as they are, without skipping closed days. No setup is needed
2. Delivery date, N days before: counts back a fixed number of calendar days
3. Order date, N days after: for stores that do not use a delivery date. Also works when the date format cannot be read
- Ship date format (inside "Ship date calculation"): "Same as the delivery date" (default) / presets (YYYY-MM-DD, YYYY/MM/DD, YYYY年M月D日, M月D日, M/D) / "Custom" (year YYYY or YY, month MM or M, day DD or D, plus separators; no weekday or month names; up to 40 characters). It applies to tags, notes and text-type metafields. Date-type metafields are always YYYY-MM-DD. If the store's date format cannot be read (e.g. Spanish, French or Italian with the abbreviated weekday ddd), "Same as the delivery date" adds no ship date tag or note, so guide the merchant to choose a format here
"Advanced settings (optional)" (closed by default):
- Change the days by condition: for orders matching conditions (product tag, prefecture, shipping line name, additional details, etc.), change the days (a fixed number / the pattern's shortest date). Rules are checked from the top and the first match is used. Orders matching none follow the 3 choices above. Each rule can have as many conditions as you like, joined with "all" or "any" (e.g. "product tag frozen" AND "shipping prefecture Hokkaido" → 3 days before. On screen: "+ Add a rule" → choose a condition → "+ Add condition" for the second → under "When matched" set "A fixed number of days" to 3). If several products match, put the rule with more days first and the longer one is used
- Closed days: also skip closed days for fixed numbers of days (default OFF. The shortest date always skips closed days)
- Orders without a delivery date or with an unreadable date (shown only when "How should the ship date be decided?" counts back from the delivery date): do not set a ship date (default) / count the days decided above from the order date (counted from the order date instead of the delivery date; the days are those of the matching row of "Change the days by condition", otherwise those of the method chosen above. Example: if Hyogo is 5 days, 5 days after the order date; other orders use the pattern's shortest days) / X days after the order date (a separate number of days only for orders without a delivery date; 0-60 days; whether closed days are skipped follows the "Closed days" setting). This choice is not shown when "X days after the order date" is chosen. When the ship date does not depend on the delivery date (counted from the order date), orders whose date and time are both "not specified" also get a ship date (only orders that went through the app)
- Cut-off time when counting from the order date: if the order time is at or after the given hour, it is counted as the next day's order

Limits and notes:

- Checking order when a ship date or tag is not set: (1) do runs appear in Flow's "Recent runs" for each order (if not, is the workflow turned on, and was its name left unchanged) (2) did you check "Imported" and press "Save". The ship date of "Match the delivery pattern's shortest date" is set for orders whose cart was created after saving (a cart from before saving does not carry the internal attribute __ccGroup that identifies the pattern) (3) does the order have a delivery date (when "do not set" is chosen) (4) did you wait 1-2 minutes after the order
- It is written once, when the order is created. Changing the delivery date afterwards does not change what was written. Orders placed before the import are not written
- After changing the settings, press "Save" and they apply to the imported Flow as they are; no need to replace the file. After changing closed days (a pattern's closed weekdays / closed days) too, they do not reach Flow until you save again
- The settings passed to Flow are limited to 120KB. Above that, saving fails (the current size is shown on the screen). Reduce conditional rules or stop using "Match the delivery pattern's shortest date" for the ship date
- A ship date is not set when the order has no delivery date (or an unreadable one) and "do not set" is chosen, when the pattern cannot be identified for the shortest-date method, or when every weekday is closed

PROC-O3 Show the delivery date and time in emails and on the thank-you page

Where: App left menu "Option" > "How to display by email and checkout screen"
- "Mail of Order Confirmation": open the instructions and paste the Liquid code into the notification email template (manual)
- "Thank you page (Adding Script)": the method using additional scripts
- "Thank You Page, Order Confirmation Page": the method using the extension (for merchants on the Basic plan or above). Check support of other apps before switching
Note: inserting the code is manual work by the merchant. It is not inserted automatically

PROC-O4 Validate the date at checkout

Where: App left menu "Option" > "Validation for delivery date" > the check "Activate"
What is validated: whether required fields are filled, the shortest date, the longest date (on failure the customer cannot proceed to purchase)
Limits:
- The cut-off time cannot be validated. If cut-off times exist in several groups, choose only one "Cut off time" for validation (groups/options with the unselected cut-off times are not used in the shortest-date calculation)
- For options (delivery area, etc.), delivery time selection and input texts, only whether required fields are filled is validated
- It cannot be turned ON when the saved size exceeds the limit
Messages: "Validation message for delivery date verification" and others can be edited (default texts exist)

PROC-O5 When it interferes with other apps

Where: App left menu "Option" > "Cart Attributes Update"
- "Do not update cart attributes when the app (cart page) loads"
- "Do not update cart attributes when the 'Buy' button is pressed"
Use: when another app causes a malfunction, turn it ON and try to resolve it
Note: when ON, the updates that make sure the delivery date and time are added to the order are no longer performed. Check on the live store

PROC-O6 Switch the display of the delivery date and time for each language

Where: App left menu "Option" > "Display switching for each language"
Description text: "You can set whether to display or hide the widget of delivery date and time for each language of the store."
Steps:
1. Turn ON the checkbox "Language management is Active"
2. Press the button "Start Settingss" (shown only when the checkbox is ON)
3. In "Settings for each language", following "Please select a language to display the widget of delivery date and time.", check the languages you want to display
4. Press "Save" at the top of the screen
Result: the widget appears only on pages of the checked languages. It does not appear on pages of unchecked languages.
Notes:
- On pages of a language where it does not appear, neither the input fields nor the required check work. The customer can go to checkout without specifying a date and time.
  Even with "Validation for delivery date" ON, customers in a language where it does not appear are not stopped by the validation.
- When a page of a language where it does not appear is opened, the attributes this app wrote (delivery date and time, delivery area, input texts, etc.) that were entered in another language are deleted automatically. Attributes of other apps are not deleted.
  When the language is switched back, the customer has to choose again. In earlier versions of the app, attributes chosen in Japanese stayed, and an old date could end up on the order.
- When the checkbox "Language management is Active" is OFF, it is displayed in all languages.
- The list in "Settings for each language" is a list of language names (Japanese, English, etc.). It is matched against the language of the store page the customer is viewing.
- For a language where you want the date and time to be required, check it so that it is added to the displayed languages.

List of headings on the “Option” screen (from the top. Confirmed on the real screen)

  1. Validation for delivery date (“Activate”. It shows the current saved size)
  2. Creating a backup file of saved data
  3. Write to orders automatically (this is the heading on the screen; it works through Shopify Flow)
  4. Display switching for each language
  5. How to display by email and checkout screen
  6. Cart Attributes Update
  7. Holiday Calendar Settings (automatically delete dates before a given day)
  8. Request Support for Setting Up (paid)

FACTS

O-1  The manual "Add Tags" button at the top of the screen has been removed. To write tags, notes or metafields to orders, use "Write to orders automatically" (uses Shopify Flow; PROC-O2).
O-2  Showing in emails is done by the merchant pasting code into the template. The app does not rewrite emails automatically.
O-3  Even with validation ON, the cut-off time cannot be validated.
O-4  In a language that is not displayed with "Display switching for each language", there is no widget and no required check, and the validation also passes (PROC-O6). To make it required, add that language to the displayed languages.
O-5  Metafields saved by "Write to orders automatically" that have no definition (a free namespace and key; the defaults are custom.delivery_date / custom.delivery_time) do not appear in the order's metafield list in the admin. The values are saved. How to see them: open the order's metafields (admin "Orders" > the order > Metafields; URL …/orders/ORDER_ID/metafields) and press "Show unstructured metafields" at the top of the page (URL …/orders/ORDER_ID/metafields/unstructured). To also show them in the list for staff, create a metafield definition with the same namespace and key under Shopify admin "Settings" > "Custom data" > "Orders" (the app does not create definitions). For "I saved it but the metafield is missing", guide the merchant to this first.
O-6  The "+ Insert" menu of an action lists the delivery date and ship date, plus the delivery method, input text and shortest-date adjustment items from the app settings, by the names you set (the delivery date and time also appear by the names set in the app; e.g. "Gift message (input text)"; choosing one inserts a variable with the same item name as the menu, e.g. {配送希望日} {配送希望日(年-月-日)} {配送希望時間} {発送日} {発送日(年-月-日)} {item name}; the old forms {日付表示} {入力1} {@item name} still work). The numbered insertions of the old version, such as "Input text (1st / 2nd)", were removed (already-saved {入力1} etc. keep working).
O-7  The basic settings of "Write to orders automatically" (tags, note, metafields) run for orders that have a delivery date or delivery time. Orders whose delivery date and time are both "not specified" get nothing written. However, if an item from the app settings (delivery method, input text, etc.) chosen for the note or metafields has a value, only that item is written even without a date or time. For "the note is not added", first check whether the order's additional details contain a value for the chosen items.
O-8  "Write to orders automatically" refers to the items of input text, delivery method and shortest-date adjustment (area) by their name text (the items appended to the note, the items saved to metafields, conditions, the source of an additional-details conversion, and {item name} in the text of an action). If you rename or delete such an item in the app settings, the Flow side does not change automatically, and only that item stops being written to orders (the order and delivery themselves are not affected). The settings screen shows, directly under the field you changed, red text "\"old name\" is still used in \"Write to orders automatically\". Update it to the new item name, or it will not be written to orders." and the link "Open Options" (the link opens the "Write to orders automatically" settings modal in Options). Fields that show it: the input title of an input text, the display label of the delivery method, and the display title of the shortest-date adjustment. The display labels of the delivery date and delivery time follow automatically when changed, as long as only the basic settings (tags, note, metafields) are used. They do not follow only when written as a variable with the name (e.g. {受取希望日}) in the text of a conditional rule, or used as the source of an additional-details conversion; only then does the note appear under the display label field. How to fix: in Options > Write to orders automatically, check the new item name again, fix the item names in conditions and texts, remove the "×" of the old name, then save. After moving to another screen and back, or after saving and reopening, the note may appear together under the input text field instead of per row. Names changed before this feature was released have no record, so no note appears. For "the tag/note stopped being added after I changed an item", guide the merchant to this first.

ESCALATE

  • “The delivery date and time does not appear in the email”: check whether the code was pasted into the template, whether the label matches (re-fetch it if the group name was changed), and the kind of notification email.
  • “Validation stops the customer from purchasing”: ask for the store URL, the products in the cart, the displayed message, and the shortest/longest date of the group.

SEE

Install