Contents
Owning a block of units without a strata title comes with the unique mix of opportunities and responsibilities. That’s why it’s important to know the ins and outs of protecting your investments.
Non-strata blocks, think duplexes or larger complexes where individual owners or a small group manage the whole property, require a tailored approach to insurance.
Keen to explore? Let’s break down the key coverage options for insuring your non-strata block of units.

What Makes Non-Strata Blocks Different
Owning a non-strata block of units means you’re typically responsible for the entire building, from the roof to the foundations, rather than sharing that load through a body corporate.
Multi-unit residential properties that operate under non-strata titles give owners more control but also more direct exposure to risks.
This setup can be appealing for flexibility but it shifts the burden onto you (or your group) to secure comprehensive insurance that covers everything under one roof.
In 2025, with rising repair costs due to inflation and more frequent weather events, getting the right coverage has become a necessity.
var shadow = mount.attachShadow({ mode: “open” });
var style = document.createElement(“style”);
style.textContent = :host, * { box-sizing: border-box; } .wrap { display:flex; justify-content:center; padding:24px; } .card { width:100%; max-width:760px; background:#ffffff; /* CHANGED from translucent dark to solid white */ color:#0d1421; /* CHANGED from #fff to dark text */ border-radius:28px; padding:28px 24px; border:1px solid rgba(15,23,42,.08); /* subtle border for white bg */ box-shadow:0 20px 50px rgba(15,23,42,.10), 0 4px 12px rgba(15,23,42,.06); } .progress { height:6px; width:100%; background:rgba(0,0,0,.06); border-radius:999px; overflow:hidden } .bar { height:100%; background:#75fba1; width:0% } .title { text-align:center; font-weight:800; margin:22px 0 10px; font-size:clamp(26px,3.6vw,40px); line-height:1.2 } .sub { text-align:center; color:rgba(15,23,42,.7); margin:6px auto 0; max-width:46ch; font-size:18px } .section { margin-top:28px } .options { display:flex; flex-direction:column; gap:18px; margin-top:12px } .option { width:100%; border-radius:16px; padding:18px 22px; font-size:18px; background:#f8fafc; color:#0f172a; border:1px solid rgba(15,23,42,.16); text-align:center; cursor:pointer } .option[aria-pressed="true"] { border-color:#75fba1; background:rgba(117,251,161,.12) } label { display:block; color:rgba(15,23,42,.7); font-size:14px; margin:0 0 8px } .input, .textarea { width:100%; border-radius:14px; padding:14px 16px; color:#0f172a; background:#f8fafc; border:1px solid rgba(15,23,42,.14); outline:none; font-size:16px } .grid { display:grid; gap:16px; grid-template-columns:1fr } @media (min-width:768px){ .grid { grid-template-columns:1fr 1fr } } .footer { margin-top:28px; display:flex; justify-content:flex-end; align-items:center } .btn { border-radius:999px; padding:12px 20px; font-size:16px; font-weight:600; cursor:pointer; border:1px solid rgba(15,23,42,.16); background:#ffffff; color:#0f172a } .btn[disabled]{ opacity:.5; cursor:default } .btn-primary { background:#75fba1; color:#18375d; border-color:#75fba1; padding:16px 28px; font-size:18px; position:relative; z-index:5 } @media (max-width:480px){ .wrap { padding:14px } .card { padding:20px 16px } .title { font-size:clamp(18px,6.2vw,28px) } .sub { font-size:16px } .option { padding:14px 16px; font-size:16px } .input, .textarea { padding:12px 14px; font-size:15px } .btn { padding:10px 16px; font-size:15px } .btn-primary { padding:14px 22px; font-size:16px } } ;
shadow.appendChild(style);
var state = { step: 0, total: 5, address: "", unitCount: "", buildingSum: "", // raw digits only, e.g. “1500000” contentsSum: "", // raw digits only optionalCovers: [], yearBuilt: "", currentlyInsured: "", renewalDate: "", startDate: "", insuredName: "", dobOldest: "", phone: "", email: "", comments: "", submitting: false, submitted: false };
var OPTIONAL_COVERS = [“Tenant Default”, “Malicious Damage by Tenant”, “Loss of Rent”];
function el(tag, props, …children){ var n=document.createElement(tag); if(props){ for(var k in props){ var v = props[k]; if(v==null || v===false) continue; if(k===“class”) n.className=v; else if(k===“html”) n.innerHTML=v; else if(k===“disabled”) n.disabled=!!v; else if(k.startsWith(“on”) && typeof v===“function”) n[k]=v; else n.setAttribute(k,v); } } children.forEach(function(c){ if(c!=null) n.appendChild(c); }); return n; }
function render(){ shadow.innerHTML=""; shadow.appendChild(style); var wrap=el(“div”,{class:“wrap”}); var card=el(“form”,{ class:“card”, onsubmit:onSubmit, onkeydown:function(e){ if(e.key===‘Enter’ && e.target.nodeName!==‘TEXTAREA’){ e.preventDefault(); } } });
var progress=el("div",{class:"progress"},
el("div",{class:"bar", style:"width:"+Math.round(((state.step+1)/state.total)*100)+"%;"})
);
card.appendChild(progress);
var title=el("h2",{class:"title"});
var sub=el("p",{class:"sub"});
// Submitted state
if(state.submitted){
title.textContent = "Thank you for your enquiry. We’ll be in touch within 24 hours.";
card.appendChild(title);
wrap.appendChild(card);
shadow.appendChild(wrap);
return;
}
// STEP 0: Property details
if(state.step===0){
title.textContent = "Get non-strata property quote";
sub.textContent = "Start with the address and how many units or dwellings are at this location.";
var s0=el("div",{class:"section"});
s0.appendChild(field("Address","address"));
var g0=el("div",{class:"grid"});
g0.appendChild(field("How many units / dwellings?","unitCount","number"));
s0.appendChild(g0);
card.appendChild(title);
card.appendChild(sub);
card.appendChild(s0);
}
// STEP 1: Sums insured & options
if(state.step===1){
title.textContent = "Sums insured & cover options";
sub.textContent = "Tell us what you’d like to insure and any optional covers to include.";
var s1=el("div",{class:"section"});
var g1=el("div",{class:"grid"});
g1.appendChild(field("Building Sum Insured","buildingSum","number"));
g1.appendChild(field("Contents Sum Insured","contentsSum","number"));
s1.appendChild(g1);
var coversLabel = el("label",{}, document.createTextNode("Do you want to include any of the below? (optional)"));
var list=el("div",{class:"options"});
OPTIONAL_COVERS.forEach(function(opt){
var selected = state.optionalCovers.indexOf(opt)>-1;
var btn=el("button",{
type:"button",
class:"option",
"aria-pressed":selected?"true":"false",
onclick:function(){ toggleArray("optionalCovers", opt); }
}, document.createTextNode(opt));
list.appendChild(btn);
});
s1.appendChild(coversLabel);
s1.appendChild(list);
card.appendChild(title);
card.appendChild(sub);
card.appendChild(s1);
}
// STEP 2: Year built & current insurance
if(state.step===2){
title.textContent = "Current insurance details";
sub.textContent = "Share a bit more about the property and your current cover.";
var s2=el("div",{class:"section"});
s2.appendChild(field("Year property was built (N/A if unsure)","yearBuilt"));
var statusLabel = el("label",{}, document.createTextNode("Currently insured?"));
var statusList = el("div",{class:"options"});
["Yes","No"].forEach(function(opt){
var selected = state.currentlyInsured === opt;
var btn=el("button",{
type:"button",
class:"option",
"aria-pressed":selected?"true":"false",
onclick:function(){
state.currentlyInsured = opt;
if(opt==="Yes"){ state.startDate=""; }
if(opt==="No"){ state.renewalDate=""; }
render();
}
}, document.createTextNode(opt));
statusList.appendChild(btn);
});
s2.appendChild(statusLabel);
s2.appendChild(statusList);
if(state.currentlyInsured === "Yes"){
s2.appendChild(field("What is your renewal date?","renewalDate","date"));
} else if(state.currentlyInsured === "No"){
s2.appendChild(field("What date would you like to start?","startDate","date"));
}
card.appendChild(title);
card.appendChild(sub);
card.appendChild(s2);
}
// STEP 3: Insured & contact details
if(state.step===3){
title.textContent = "Insured & contact details";
sub.textContent = "We’ll use these details to prepare your quote and get in touch.";
var s3=el("div",{class:"section grid"});
s3.appendChild(field("Insured Name","insuredName"));
s3.appendChild(field("DOB of oldest insured","dobOldest","date"));
s3.appendChild(field("Phone","phone","tel"));
s3.appendChild(field("Email","email","email"));
card.appendChild(title);
card.appendChild(sub);
card.appendChild(s3);
}
// STEP 4: Comments
if(state.step===4){
title.textContent = "Comments";
sub.textContent = "Leave any comments or extra details you’d like us to know.";
var s4=el("div",{class:"section"});
s4.appendChild(el("label",{for:"comments"},document.createTextNode("Comments")));
s4.appendChild(
el("textarea",{
id:"comments",
class:"textarea",
rows:"6",
oninput:function(e){
state.comments = e.target.value;
}
}, document.createTextNode(state.comments || ""))
);
card.appendChild(title);
card.appendChild(sub);
card.appendChild(s4);
}
// Footer & navigation
var footer=el("div",{class:"footer"});
if(state.step < state.total - 1){
footer.appendChild(el("button",{
type:"button",
class:"btn btn-primary",
disabled:state.submitting,
onclick:onNext
}, document.createTextNode("Next")));
} else {
footer.appendChild(el("button",{
type:"submit",
class:"btn btn-primary",
disabled:state.submitting
}, document.createTextNode(state.submitting ? "Submitting…" : "Submit")));
}
card.appendChild(footer);
wrap.appendChild(card);
shadow.appendChild(wrap);
}
// Format money helper: returns { raw, formatted } function formatMoneyInput(value) { var raw = String(value || "").replace(/[^\d]/g, ""); if (!raw) return { raw: "", formatted: "" }; var formatted = ”$” + Number(raw).toLocaleString(“en-US”); return { raw: raw, formatted: formatted }; }
// Field helper (with special handling for money fields) function field(labelText,key,type){ var w=el(“div”); w.appendChild(el(“label”,{for:key},document.createTextNode(labelText)));
var isMoney = (key === "buildingSum" || key === "contentsSum");
var initialValue = "";
if (isMoney) {
if (state[key]) {
initialValue = "$" + Number(state[key]).toLocaleString("en-US");
}
} else {
initialValue = state[key] || "";
}
var input = el("input",{
id:key,
class:"input",
type: isMoney ? "text" : (type || "text"),
value: initialValue
});
input.oninput = function(e){
if (!isMoney) {
state[key] = e.target.value;
return;
}
var result = formatMoneyInput(e.target.value);
state[key] = result.raw; // store raw digits
e.target.value = result.formatted; // show formatted with $ and commas
};
w.appendChild(input);
return w;
}
function toggleArray(key, opt){ var arr = state[key] || []; var i = arr.indexOf(opt); if(i>-1) arr.splice(i,1); else arr.push(opt); state[key] = arr; render(); }
function normalisePhone(p){ return String(p||"").replace(/\s+/g,"").replace(/-/g,""); }
function isValidAUPhone(p){ var ph = normalisePhone(p); // Accept 04xxxxxxxx, +614xxxxxxxx, 0[2378]xxxxxxx if(/^04\d{8}$/.test(ph)) return true; if(/^+614\d{8}$/.test(ph)) return true; if(/^0[2378]\d{8}$/.test(ph)) return true; return false; }
function isValidEmail(e){ var v = String(e||"").trim(); if(!v) return false; var re = /^[^\s@]+@[^\s@]+.[^\s@]+$/; return re.test(v); }
function onNext(){ // Step specific validation before moving on if(state.step === 0){ if(!state.address){ alert(“Please enter the property address to continue.”); return; } if(!state.unitCount){ alert(“Please enter how many units or dwellings there are.”); return; } }
if(state.step === 3){
if(!state.insuredName){
alert("Please enter the insured name.");
return;
}
if(!isValidEmail(state.email)){
alert("Please enter a valid email address.");
return;
}
if(!isValidAUPhone(state.phone)){
alert("Please enter a valid Australian phone number.");
return;
}
}
state.step = Math.min(state.total - 1, state.step + 1);
render();
}
// POST via a hidden form (single, reliable, CORS-safe) function postViaHiddenForm(url, payload){ try { var iframe=document.createElement(“iframe”); iframe.name=“zap_post_frame”; iframe.style.display=“none”; document.body.appendChild(iframe); var form=document.createElement(“form”); form.method=“POST”; form.action=url; form.target=iframe.name; form.style.display=“none”; for(var k in payload){ var input=document.createElement(“input”); input.type=“hidden”; input.name=k; input.value=String(payload[k]==null?"":payload[k]); form.appendChild(input); } document.body.appendChild(form); form.submit(); setTimeout(function(){ try{ form.remove(); iframe.remove(); }catch(){} }, 1200); return true; } catch() { return false; } }
// Read UTM parameters from URL or localStorage function readUTMs(){ try { var params=new URLSearchParams(window.location.search); var keys=[“utm_source”,“utm_medium”,“utm_campaign”,“utm_term”,“utm_content”,“gclid”,“fbclid”,“msclkid”]; var out={}; for(var i=0;i<keys.length;i++){ var k=keys[i]; var v=params.get(k); if(v){ localStorage.setItem(k, v); } var stored=localStorage.getItem(k); if(stored){ out[k]=stored; } } out.landing_url=window.location.href; out.referrer=document.referrer||""; return out; } catch(_) { return {}; } }
async function reliablyPost(payload){ var url=ZAPIER_WEBHOOK; try { if(postViaHiddenForm(url, payload)) return true; } catch(){} try { await fetch(url,{ method:“POST”, headers:{“Content-Type”:“application/json”}, body:JSON.stringify(payload), keepalive:true, mode:“no-cors” }); return true; } catch(){} try { var qs=new URLSearchParams(payload).toString(); var img=new Image(); img.referrerPolicy=“no-referrer”; img.src=url+”?”+qs; return true; } catch(_){} return true; }
async function onSubmit(e){ e.preventDefault(); if(state.submitting) return;
// Final safety validation
if(!state.insuredName){
alert("Please enter the insured name.");
return;
}
if(!isValidEmail(state.email)){
alert("Please enter a valid email address.");
return;
}
if(!isValidAUPhone(state.phone)){
alert("Please enter a valid Australian phone number.");
return;
}
state.submitting = true;
render();
var payload = {
"Address": state.address,
"Number of units/dwellings": state.unitCount,
"Building Sum Insured": state.buildingSum, // raw digits
"Contents Sum Insured": state.contentsSum, // raw digits
"Optional covers": (state.optionalCovers || []).join(", "),
"Year property was built": state.yearBuilt,
"Currently insured": state.currentlyInsured,
"Renewal date": state.renewalDate,
"Start date": state.startDate,
"Insured Name": state.insuredName,
"DOB of oldest insured": state.dobOldest,
"Phone": state.phone,
"Email": state.email,
"Comments": state.comments,
"Date Received": new Date().toISOString(),
"Landing page": "/lp/pi-business-insurance"
};
try {
var utm = readUTMs();
for(var k in utm){ payload[k]=utm[k]; }
} catch(_){}
try { await reliablyPost(payload); } catch(_){}
state.submitting = false;
state.submitted = true;
render();
}
render(); })();
Strata vs. Non-Strata: How Ownership Affects Your Insurance Choices

If you’ve ever compared apples to oranges, strata and non-strata insurance might feel similar.
Strata schemes, common in larger apartment blocks, involve a body corporate that handles a collective policy for shared areas like hallways, roofs and gardens. Owners then add Contents or Landlord Cover for their individual units.
Non-strata flips this. There’s no central body, so you insure the full building as a single entity. This means broader policies that encompass both structure and contents across all units.
For instance:
- Strata Insurance often excludes individual unit interiors, leaving those to personal policies.
- Non-Strata Insurance bundles everything, making it ideal for investor-owned blocks where units are rented out.
Key Takeaway: Non-strata demands a holistic policy to avoid gaps, especially if tenants occupy multiple units.
Key Coverage Options for Your Non-Strata Units
When insuring your non-strata block of units, focus on policies that address the building as a whole while protecting your rental income.
Here are the essentials:
- Building Coverage: This covers the physical structure (e.g., walls, roof, plumbing and fixtures) against events such as storms, fires or floods.
For a typical block, expect coverage up to the replacement value with costs varying depending on size.
It’s non-negotiable for non-strata owners, as you’re liable for the lot. - Landlord Insurance: Tailored for rental properties, this extends building cover to include loss of rent (up to 12 months if uninhabitable), tenant damage and theft by renters.
This can prevent financial hits from disputes or defaults. - Public Liability Coverage: Protects against claims if someone injures themselves on your property.
This is crucial for blocks with common access points.
These options often come bundled in a Non-Strata Insurance policy, simplifying things for non-strata setups.
Common Risks Facing Non-Strata Units in Australia

Non-strata blocks share many everyday vulnerabilities but without a strata committee, you’re on the front line.
Here’s what to watch for:
- Weather-Related Damage: Storms and bushfires top the list. Non-strata roofs and gutters bear the full brunt.
- Tenant Issues: Disputes leading to deliberate damage or unpaid rent affect rental properties.
- Structural Defects: Leaks from poor waterproofing or plumbing failures are common in older blocks.
- Liability Hazards: Slips on uneven paths or in laundries can result in public liability claims in multi-unit dwellings.
Spotting these early can make all the difference. Regular inspections are your best friend here.
Cost-Saving Tips for Insuring Your Non-Strata Block
Who doesn’t love trimming expenses without skimping on protection?
Premiums for non-strata blocks can feel steep but smart moves can help shave your bill.
You can try these:
- Opt for a Higher Excess: Bumping your excess can cut premiums as long as you can cover the out-of-pocket cost.
- Bundle Policies: Combine Building Coverage, Landlord Insurance and Public Liability into one package. Many insurers offer discounts for multi-cover deals.
- Enhance Security Features: Install smoke alarms, deadlocks or CCTV; this can lower rates through reduced risk profiles.
- Pay Annually: Skip monthly instalments for a one-off payment, saving up on admin fees across providers.
- Accurate Valuations and Maintenance: Get a professional rebuild assessment to avoid over-insuring and fix minor issues like leaks promptly to qualify for no-claims bonuses.
- Shop Around with a Broker: An insurance broker can help you compare quotes from multiple insurers, often uncovering deals that save owners hundreds yearly.
These tweaks keep your non-strata block insured without unnecessary extras.
Secure Your Non-Strata Block with Expert Guidance
Insuring your non-strata block of units doesn’t have to be overwhelming. It’s about choosing the right mix of Building Insurance, Landlord Insurance and Public Liability Coverage to match your setup.
By understanding the differences from strata, tackling common risks head-on and applying these cost-saving tips, you can protect your investment and your peace of mind.
Here at Tank Insurance, our team is passionate about finding comprehensive insurance solutions for property owners like you.
Got questions about premiums or need a quote? We’re just a call away. Contact us at 02 9000 1155 or send a message through [email protected].
Let’s chat about insuring your non-strata block of units today!