COD Orders Dashboard

Enter your store domain and Admin API key to continue.

Invalid shop or key — check and try again.
#CustomerPhoneCityProduct QtyTotalStatusDateActions

Daily email alert

You get one email every day at 9:00 AM (Pakistan time) if any order did not reach Shopify. No email is sent when there are no failed orders.

#StoreCustomerPhoneCityTotalDateErrorAction

Block repeat orders

Same phone number or IP ordering again too soon gets auto-blocked.

Block if the same phone or IP ordered again in the last days
Default: 180 days (6 months).

Block unusually large orders

Bulk single-order quantities are often fake or reseller orders.

Block orders where quantity is above pieces

Block orders with too many different products

Applies to the cart-page Cash on Delivery button — limits how many distinct products can go into one COD order.

Block orders with more than different products

Auto-blocked (temporary)

Blocked by the repeat-orders rule above — expires automatically.

Phone / IPTypeLast orderBlocked until

Your block lists

One entry per line. These are always blocked, regardless of the settings above.

TypeValueReasonAdded

Message when quantity limit is exceeded

Message when too many different products are in cart

Message when a customer is blocked

Saved!
-
Form opened
-
Total orders
-
Blocked attempts
-
Auto-blocked (rules)
-
Blocked, tried again
-
Opened → ordered

Blocked customers who tried again

PhoneAttemptsLast try
✓ Your COD form is correctly enabled.

Cart page settings

Product page settings

When the COD button is clicked on product pages:
Saved!
ℹ️ Add a pixel below, then place a test order to confirm it's firing correctly.
TypeLabelPixel IDToken
ℹ️ Needed only so a store's orders can be created directly in Shopify (Admin API). Without a connection here, COD orders are still captured/saved normally — they just won't auto-create a real Shopify order for that store.

Option A — this store has its own custom app (OAuth)

If you created a separate custom app for this store (Partners dashboard or the shopify.dev CLI dashboard — App URL https://cod-form-app.bilalstore.workers.dev, redirect URL https://cod-form-app.bilalstore.workers.dev/shopify/callback, Embed off, Legacy install flow on), enter that app's own Client ID and Client secret below (from its "API access"/"Overview" page) and save — no access token here, that part happens automatically on install.

Option B — paste a static Admin API token

Simpler alternative, no OAuth at all: in that store's own admin → Settings → Apps and sales channels → Develop apps → Create an app → Admin API scopes read_orders, write_orders → Install app. Shopify shows a one-time Admin API access token — paste it below.

Saved!
StoreTokenApp credentialsConnected

Automatically import your COD form orders into Google Sheets.

Buy Now Button

Shows on the product page. Opens the Cash on Delivery order form. Every style setting below is independent from the Add to Cart section.
Set this to your theme's real page background color — not the button's own color. It shows directly behind the button so rounded corners sit cleanly on the real background instead of leaving a mismatched patch. Leave blank for none (fully transparent).
Saved!

Add to Cart Button

Shows on the cart page (not the product page) as its own Cash on Delivery button. Every style setting below is independent from the Buy Now section above.
Set this to your theme's real page background color — not the button's own color. It shows directly behind the button so rounded corners sit cleanly on the real background instead of leaving a mismatched patch. Leave blank for none (fully transparent).
Width, alignment and margin below apply only on desktop screens (769px and wider). Mobile has its own completely separate set of these same controls below.
Completely separate from the desktop settings above — applies only on mobile screens (below 769px). Set these independently of desktop.
Saved!

Popup background & accent

Submit button (inside popup)

Use {amount} to show the live total, e.g. "Place Order — {amount}"

Every input field

Product summary card

48px
8px
0px

Amount summary box

All fields — order, label & placeholder

Use ↑↓ to reorder. Default fields (Name/Phone/City/Address) can't be removed, but the label/placeholder can be customized. You can make City a "Dropdown" with a list of cities, and also enable an "Other" option so the customer can type their own city. To show any free-text instruction/note inside the form (like "Please enter your full address"), use "+ Add a custom field" to add a "Note (HTML)" type field — it doesn't take any input, it just shows the text/HTML you write, and you can position it anywhere (top, bottom, in between) with ↑↓. For a shipping/policy highlighted strip (like "Free delivery on orders above Rs. 2000"), use the "Highlighted banner" type — set your own text and colors. Both types can also be temporarily hidden/unhidden without deleting, via the "Show on form" checkbox.

Add a custom field

PRODUCT PAGE
Product image
Slim Fit Denim Jacket
Rs. 3,499
CART PAGE
Cart subtotal: Rs. 3,499
POPUP FORM

Img
Slim Fit Denim Jacket
Blue / M
Rs. 3,499
− 1 +
SubtotalRs. 3,499
DeliveryFree
TotalRs. 3,499