Solved on the forum

How do you set shipping cost by cart weight in Adalo?

Store the cart weight and shipping cost on the order, then use mutually exclusive conditions to save the correct shipping tier before checkout.

Docs checkedIntermediateReviewed Sep 8, 2026
THE SHORT ANSWER 🎯

Store Total Weight and Shipping Cost on the current Order, then run one conditional Update action for each nonoverlapping weight tier before calculating the checkout total.

Save the calculated weight and shipping charge on the Order before checkout. Use complete, nonoverlapping conditions for the shipping tiers, then add the stored Shipping Cost to the item subtotal. This keeps the rule testable at every boundary and gives the checkout screen one current Order value to read.

Completeness84%
Index decisionIndex now
Evidence basisAccepted forum solution plus current official Adalo documentation; no hands-on builder reproduction
WHAT YOU’LL HAVE 🎯

The intended outcome

Each order saves exactly one shipping charge from its total weight, including a defined result at every tier boundary.

BEFORE YOU START 🧰

Requirements

  • An Orders collection with Number properties for Total Weight and Shipping Cost
  • Order Items related to the current Order with a saved item weight or line weight
  • A checkout action that has the current Order available
BUILD IT 🛠️

Step by step

  1. 01

    Save the cart weight

    Before checkout, save the sum of the current Order's related item weights into the Order's Total Weight property.

  2. 02

    Define complete shipping tiers

    Write tiers with no gap or overlap. For example, use Total Weight less than or equal to 1500 for the lower charge and Total Weight greater than 1500 for the higher charge.

  3. 03

    Add conditional Update actions

    On the checkout button, add one Update Current Order action per tier. Set Shipping Cost to the tier amount and configure each action to run only when its weight condition is true.

  4. 04

    Calculate the final total

    After Shipping Cost is saved, display or save the final total as the item subtotal plus Current Order's Shipping Cost.

  5. 05

    Continue to checkout

    Place the Link action after the shipping updates so the checkout screen reads the value stored on the current Order.

WHY IT WORKS 🧠

The underlying logic

Saving Shipping Cost on the Order gives later screens one stable value to read instead of trying to reuse the visibility state of a button.

Mutually exclusive tier conditions ensure that one and only one shipping update runs for any valid weight.

Action order matters because the checkout screen must open after the Order has received its shipping value.

COLLECTIONS AND RELATIONSHIPS 🗃️

Data model

CollectionImportant propertiesRelationships
OrdersTotal Weight, Shipping Cost, and Item Subtotal are Number properties.Each Order belongs to one User and has many Order Items.
Order ItemsQuantity and Line Weight are Number properties.Each Order Item belongs to one Order and one Product.
EVIDENCE CONTEXT 🔎

What still needs checking?

  • This is a forum-native Answer with no original Adalocado video.
  • The accepted stored-cost workaround is rewritten with complete tier boundaries, documented conditional Update actions, and explicit checkout sequencing.
IF IT DOESN’T WORK 🧯

Common failure modes

No shipping tier runs at the boundary

Check the comparison operators. Use less than or equal to on one side and greater than on the other so the boundary value is included exactly once.

The checkout screen shows an old shipping cost

Confirm the actions update the same current Order that the checkout screen receives, and keep the Link action after both conditional updates.

The tier uses the wrong weight

Inspect the related Order Items and confirm Total Weight is refreshed before the shipping conditions run.

BEFORE YOU MOVE ON ✅

Testing checklist

0 of 6 checked on this device

BOUNDARIES 🚧

Current limitations

  • Conditional actions currently support one condition each, so complex shipping rules may require a precomputed tier property or an external rate service.
  • This pattern handles fixed weight tiers. It does not calculate carrier rates, address zones, taxes, discounts, or package dimensions.
  • The forum source used a confirmation modal with conditionally visible buttons. This Answer keeps the accepted stored-shipping-cost pattern and uses current documented conditional Update actions to avoid asking the user to choose a charge the app can determine.
BUILDER REPORTS 🗣️

What the Adalo community is reporting

These are concise editorial summaries of public forum posts—not endorsements or independently reproduced results.

Postage costs based on cart weight. Can't figure it out

The original author confirmed that saving a postage cost on the order, selecting the applicable tier, and reading that stored value on checkout solved the problem.

Boundary: The source used manual buttons and left the exact tier boundary ambiguous, so the Answer defines nonoverlapping conditions from current official documentation.

mightyels · March 2025
VERSION NOTES 📝

Sources and status

This page was last reviewed on Sep 8, 2026. Its current status is Documented from current sources.

Verification owner: Editorially checked against current Adalo documentation and monitored for corrections. Next review: Nov 8, 2026.

VERSION HISTORY 🕰️

Changelog

  1. Automatically posted from a solved Adalo forum topic; corrections are monitored on the live site.

SPOT SOMETHING FUNNY? 🕵️

Report this answer.

Automated Answers still pass evidence and publication checks, but they can be wrong, outdated, unclear, or missing an important boundary. Send the exact correction and the editor will check the live page.

Report a problem
MONTHLY APP MANAGEMENT · BY REHOST

Rehost becomes the monthly team behind your app. Fixes, releases, integrations, and ongoing changes have an owner.

See monthly management
FixesHandled
ReleasesHandled
Next changesHandled
YOUR PROBLEM IS DIFFERENT? 🤔

Bring us the messy version.

Describe what you expected, what happened instead, and what you already tried.

Ask Adalocado 💬