The Video
Watch my video on the If Function in make.com for a great starting point – it’s got all the basics you need to know.
Who is this guide for?
You’re comfortable dragging modules around but want cleaner logic, fewer errors, and faster scenarios. You might be reaching for Filters and Routers by default. I’ll show you when an if() inside a field beats another branch in your canvas – keeping your blueprint lean and easier to debug.
What is the if() function in Make.com?
if(condition; value_if_true; value_if_false) returns one of two values based on whether the condition is true or false. It’s perfect for defaulting missing data, creating labels, handling edge cases, and making decisions without spawning new branches.
What is the if() function in Make.com?
In general in make.com I like to keep my automations as simple as possible. There’s nothing worse than having multiple routes and having to duplicate logic.
- Use if() when the decision only affects a single field or the payload you’re building. Examples include choosing a label, swapping a default value, or doing light calculations.
- Use Filters or Routers when you genuinely need different paths of modules. If both branches do almost the same work and only a value changes, keep it in the field with
if(). - Reducing unnecessary Filters keeps blueprint size smaller, makes it easier to understand, speeds up loading, and simplifies handovers to teammates.
Basic syntax and tips
- Shape –
if(condition; value_if_true; value_if_false) - Separators – Use semicolons in Make; commas will break the formula.
- Strings – Wrap text in quotes. If spaces might be present, apply
trim()first. - Numbers – Convert text numbers with
toNumber()before comparing to avoid issues like “10” being greater than “2”. - Dates – Use
parseDate()to convert strings before comparing tonow.
Paste Ready If Function Make.com Examples
Order Value - Low or High Ticket
Module note: here I’m reading a numeric field 1.\1“ and labelling orders without creating a Router. Simple and fast.
{{if(1.`1` > 20; "High Ticket"; "Low Ticket")}}
Lead Score Tiers
Two-level cascade. The first condition checks for strong budget and company size, else we fall back to a warm check, else cold. This replaces multiple branches and stays readable.
{{if(7.`0` > 500 & 7.`1` > 1000; "Hot Lead"; if(7.`0` > 100 | 7.`1` > 2500; "Warm Lead"; "Cold Lead"))}}
Gender-based greeting
Send an email to a male addressed as ‘Sir’ or a female as ‘Madame’.
{{if(10.0 = "F"; "Madame"; if(10.0 = "M"; "Sir"; "Friend"))}}
Common If Make.com mistakes to avoid
- Semicolons, not commas – In Make, use semicolons to separate arguments.
- Forgetting quotes – Wrap text in quotes, and cast numbers before comparison.
- String vs number – Always wrap user-entered numbers with
toNumber(). - Date formats – Use
parseDate()to convert strings before comparing tonow. - Whitespace – Use
trim()when checking for empty values, e.g.length(trim(x)) = 0. - Case sensitivity – Normalise with
lower()before usingcontains().
Optimisation best practices
- Prefer field logic over new branches – If the result is simply a value, keep it within an
if()rather than creating a separate branch. - Normalise once – Apply functions like
trim,toNumber, orlowerearly, store the result in a variable, and reuse it. - Set variables for readability – Use a quick Set module with clear variable names to make complex formulas easier to read, without adding unnecessary branches.
- Replace big condition trees – When mapping categories, a lookup table is more efficient than multiple nested
if()statements. - Log decisions while building – Temporarily output your chosen label or boolean to the Inspector to check behaviour, then remove it once confirmed.
If() vs Filters vs Routers - my rule of thumb
If the difference is a value, use if(). If the difference is the workflow, use a Filter or Router. Default to fewer branches – your future self will thank you when the canvas loads instantly and you can see the whole story without scrolling.
Conclusion
If you take one thing away: move simple decisions back into the field with if(). Your scenarios will run faster, your blueprints will stay tidy, and debugging becomes a two-minute job instead of a two-hour safari. Grab the examples above, adapt the tokens to your own modules, and ship cleaner automations today.