One Australian audience file, named at source and run end to end. Every figure is computed from the file, and every source opens to the page that proves it. Campaign segments, marketing materials, social uploads and Leadership Team reports are built from the same file. All currency figures AUD.
Each section below links to the duty it has to satisfy on the marketing compliance page, where the Spam Act, the Privacy Principles and the complaint response steps are set against the columns that evidence them.
Sources5 build · 7 set asideNamed sources that build the file, set the law it must obey, or were measured and set aside.
Source codes
LANPLANP — ABS Census — language used at home
SALSAL — ABS QuickStats — suburb ancestry and birthplace
APAP — Australia Post postcode reference
ASGSASGS — ABS statistical areas and correspondences
1P1P — First-party opted-in list
APP7APP7 — Australian Privacy Principle 7 — direct marketing
SPAMSPAM — Spam Act 2003 — channel consent
Trust ladder
Official statisticOfficial statistic — Enumerated or statutory figure
Reference standardReference standard — Authoritative geography or coding list
Primary record — first partyPrimary record — first party — Collected at opt-in by the operator
RegulatorRegulator — Law or guidance that constrains use
Licensed panelLicensed panel — Vendor panel — not a sendable list for ancestry
Modelled estimateModelled estimate — Assigned by model, not declared by the person
Expand all·Collapse all
Builds the file5Every value in the file traces to one of these.
Expand all·Collapse all
LANPAustralian Bureau of StatisticsOfficial statisticCensus 2021 — Language used at home (LANP)
Marathi used at home: 22,263 nationally, 9,753 New South Wales, 7,170 Victoria — the counts the state mix follows
Validity
Official statistic
How to authenticate it
A national census, not a sample: enumerated August 2021 under the Census and Statistics Act 1905. The standard Community Profiles fold Marathi into “Other Indo-Aryan”, so these counts come from TableBuilder: cross-tabulate Language used at home against State and the three figures reproduce exactly
Cost
Free — TableBuilder Basic costs nothing; it asks for a registration
The locality-to-postcode list every suburb and postcode in this file was resolved against
Validity
Reference standard
How to authenticate it
Australia Post sets Australian postcodes, so its own file is the authority. The Standard Postcode File is the CSV every suburb and postcode here was matched against
Cost
Quote on request — Australia Post publishes no price for the CSV files, and the free PDF booklet is licensed for non-commercial use only, so a commercial audience file needs the licensed productprice page
ASGSAustralian Bureau of StatisticsReference standardASGS 2021 — statistical areas and correspondences
The SA2 code each postcode resolves to, and the correspondence that makes postcode-to-SA2 many-to-many
Validity
Reference standard
How to authenticate it
The correspondence files themselves, under Creative Commons: CG_POSTCODE_2021_SA2_2021.xlsx is the postcode-to-SA2 table this file joins on, and it carries the ratio that makes the join many-to-many
1PTicketalay — own opted-in listPrimary record — first partyCheckout, waitlist, newsletter and box-office opt-in
Name, email, phone, mobile, age, the self-declared ancestry and language, the consent flag and the chosen channel — the only lawful route to person-level contact detail
Validity
Primary record — first party
How to authenticate it
Each record carries the consent timestamp, the form it came from and the purpose consented to, so any single person can be traced back to the moment they opted in
Cost
No fee for the data — the operator collects it. The platform that holds it publishes its price: Audience Republic Basic USD 98/mo billed annually at USD 1,028, Plus USD 163/mo billed annually at USD 1,713, entry tiers to 10,000 contacts; Enterprise on application
Measured and set aside7Commercial sources checked against the requirement. None can supply a person-level ancestry or language field.
Expand all·Collapse all
EGENeGENTICLicensed panelAustralia consumer data — AWS Marketplace
Five million opted-in Australian profiles carrying name, email, phone, gender, date of birth and state — and no ethnicity, ancestry or language field at all
Validity
Licensed panel
How to authenticate it
A marketplace listing that states its own attribute set, so the absence of an ancestry field can be read off the page
Cost
Free sample on the listing, which carries no per-unit charge; the full data sets are quote on request
Over 20 million opted-in Australian consumers, filterable to postcode, suburb and state — with no ethnicity, language or country-of-birth filter offered
Validity
Licensed panel
How to authenticate it
The platform page lists its own filter set, which is where the missing ancestry dimension shows
Cost
A$0.43 a record plus GST, the vendor’s own published breakdown: base record 25.0c, phone 8.0c, email 10.0c
Consumer classification into 14 Groups and 52 Types, covering 99% of Australian households — a segment on the household, not an ethnicity on a named person
Validity
Modelled estimate
How to authenticate it
The vendor describes its own build and coverage; the classification is modelled, so it sits below an official statistic
Cost
Quote on request — no price, rate card or fee appears on the product page
RMSSRoy MorganLicensed panelSingle Source Australia
Over 60,000 interviews a year, carrying language used at home among its variables — a survey panel that sizes a segment, never a list to send to
Validity
Licensed panel
How to authenticate it
A continuous survey with a published sample size and method; it measures a population, and carries no contactable record
Cost
A subscription is quote on request, but the online store publishes off-the-shelf profiles built from it: A$1,529 including GST standard, A$4,950 including GST premium
AECAustralian Electoral CommissionOfficial statisticCommonwealth electoral roll
The one identified national file of Australians — and s 91B of the Commonwealth Electoral Act 1918 shuts commercial use of it, which is a large part of why no lawful public person-level list exists
Validity
Official statistic
How to authenticate it
The AEC’s own electoral-roll access page sets out who may receive roll data and for what. A marketing organisation is not on that list
Cost
Not for sale — there is no commercial access path, at any price
What this buys — named campaign segments, channel kits and Leadership Team report specs are built from the same contactable audience below. Open Campaign segments to see the live counts.
SALSAL — ABS QuickStats — suburb ancestry and birthplace
APAP — Australia Post postcode reference
ASGSASGS — ABS statistical areas and correspondences
1P1P — First-party opted-in list
APP7APP7 — Australian Privacy Principle 7 — direct marketing
SPAMSPAM — Spam Act 2003 — channel consent
Column types
texttext — Free-text or name field
numbernumber — Numeric measure such as age
flagflag — Controlled Y/N or E/M code
datedate — Calendar date on the consent event
codecode — Stable key or geographic code
Legal mark
§Scale icon — Sensitive information or a statutory obligation on the column
Column
Type
Source
What it is
Where it comes from
record_id
code
Stable key for the record
Generated surrogate key — the natural key a warehouse hashes on
first_name
text
1P
Given name
Fictional. Marathi, wider Indian and general given-name pools
last_name
text
1P
Family name
Fictional. Marathi and wider Indian family-name pools
email
text
1P
Email address
Fictional, on the reserved example.com domain (RFC 2606)
phone
text
1P
Landline number
Fictional, inside the (0x) 5550 xxxx drama range
mobile
text
1P
Mobile number
Fictional, inside the 0491 57x xxx drama range
age
number
1P
Age in years
Weighted to the 25–44 band that dominates recent India-born arrivals
state
code
LANP
State or territory
Mix follows the ABS Census 2021 counts of Marathi used at home
suburb
text
SALAP
Suburb / locality
Real locality, resolved against the Australia Post postcode reference
postcode
code
AP
Postcode
Real postcode for that locality
sa2_code_2021
code
ASGS
ABS statistical area level 2
Real ASGS 2021 code the postcode resolves to — the geography join key
sa2_name_2021
text
ASGS
SA2 name
Real ASGS 2021 name for that code
ethnicity_nationality
text
SALAPP7
Ancestry, on ABS categories
Self-declared by the person at opt-in, on ABS Census ancestry categories. A bought-in ethnicity append cannot be used for marketing however it was collectedSensitive information — s 6, Privacy Act 1988 (Cth). APP 7.4 needs the person’s consent
marathi_speaking
flag
LANP
Marathi used at home
Self-declared at opt-in, on the ABS Census variable Language used at home (LANP)Travels with the same consent as the ancestry column
consented_for_marketing
flag
1PAPP7
Current marketing consent
Derived state — the current position of the consent event historyAPP 7.4 — sensitive information may be used for direct marketing only with consent
contact_preference
flag
1PSPAM
Channel the person chose — E email, M mobile
Channel consent, enforced at send time by the preference joinSpam Act 2003 (Cth) — consent, sender identification and a working unsubscribe
consent_timestamp
date
1P
When the current consent state was set
The date the latest consent event was recorded
consent_source
text
1PSPAM
Where the consent came from
Checkout opt-in, waitlist, newsletter, ballot, box office or a permission-based partner list
consent_purpose
text
What the person consented to
The stated purpose the consent was given for
data_status
flag
Real extract or synthetic sample
Required column — travels to every downstream table and tile
What this buys — every campaign segment and Leadership Team report below names the columns it consumes from this dictionary.
CorrespondenceCorrespondence — Many-to-many geography bridge with a ratio
FactFact — Event at a point in time — consent, send, sale
Serving viewServing view — The only object a campaign may send from
Key badges
pkpk — Surrogate primary key
nknk — Natural business key
fkfk — Foreign key to another table
dim_person
dim
One row per person per change — history kept, one row current
pkperson_sk
nkrecord_id
first_name
last_name
age
ethnicity_nationality
marathi_speaking
fkgeo_sk
valid_from
valid_to
is_current
dim_geography
dim
One row per suburb and postcode
pkgeo_sk
nkpostcode
suburb
state
sa2_code_2021
sa2_name_2021
dim_contact_point
dim
One row per person per channel
pkcontact_sk
fkperson_sk
channel
address
is_preferred
dim_campaign
dim
One row per campaign
pkcampaign_sk
nkcampaign_id
name
market
channel
xref_postcode_sa2
xref
One row per postcode and SA2 pair, with its share
fkpostcode
fksa2_code_2021
ratio
fact_consent_event
fact
One row per consent event — granted or withdrawn
pkconsent_event_sk
fkperson_sk
fkdate_sk
channel
purpose
action
source
fact_campaign_send
fact
One row per person per send
pksend_sk
fkperson_sk
fkcampaign_sk
fkdate_sk
channel
delivered
opened
clicked
fact_ticket_sale
fact
One row per ticket transaction
pksale_sk
fkperson_sk
fkcampaign_sk
fkdate_sk
tickets
amount_aud
vw_marketable_audience
view
One row per contactable person, per channel they chose
fkperson_sk
channel
address
state
sa2_code_2021
marathi_speaking
The joins
Cardinality
1:11:1 — One row maps to exactly one row
1:M1:M — One parent, many children
M:MM:M — Many-to-many — needs a correspondence with a ratio
From
To
On
Card.
dim_person
dim_geography
dim_person.geo_sk = dim_geography.geo_sk
1:M
dim_geography
xref_postcode_sa2
dim_geography.postcode = xref_postcode_sa2.postcodeA postcode can span several SA2s and an SA2 several postcodes, so the correspondence carries a ratio rather than a single code
dim_person.person_sk = fact_consent_event.person_skConsent is an event with a timestamp, a purpose and a source. The Y/N column on the file is the current position of this history, not the record of it
latest GRANT per person and channel, with no later WITHDRAWThe view is the only object a campaign may send from
1:1
dim_contact_point
vw_marketable_audience
dim_contact_point.person_sk = vw_marketable_audience.person_sk and is_preferred
1:1
The tests that guard it
Test types
uniqueunique — One row per key
not_nullnot_null — No orphan surrogate or foreign key
relationshipsrelationships — Referential integrity to the parent dimension
accepted_valuesaccepted_values — Controlled vocabulary only
expression_is_trueexpression_is_true — Business rule enforced by a test
unique
dim_person.person_sk, dim_geography.geo_sk
one row per key
not_null
every surrogate and foreign key
no orphan rows
relationships
fact_*.person_sk → dim_person.person_sk
referential integrity
accepted_values
channel in (E, M) · action in (GRANT, WITHDRAW) · state in the eight codes
no free text in a controlled column
expression_is_true
vw_marketable_audience has no person whose latest event is WITHDRAW
consent is enforced by a test, not by convention
Provenance chips used on this page
Provenance
Actual spendActual spend — Money already spent on this programme
Published pricePublished price — The price the vendor lists
QuotedQuoted — A written quote held on file
CalculatedCalculated — Worked out from the figures beside it
Official statisticOfficial statistic — An official statistic or statutory record
Illustrative — from sample dataIllustrative — from sample data — Computed from the downloadable sample files
Illustrative — from sample dataOfficial statisticCalculated
What this buys — Leadership Team reports read from these tables. Campaign send and ticket sale facts fill once the pilot transacts; audience size and reach resolve from today's file.
Campaigns, Materials, Social and Leadership Reports
Named segments, asset kits, ad-platform uploads and Leadership Team report specs — each figure below is computed from the same consented file as the walkthrough above. Revenue and engagement figures resolve once the pilot transacts; audience size and reach resolve today. See also the data ecosystem and investment pages for the wider monetisation sequence.
Named segments
6
Material kits
5
Social destinations
3
Leadership reports
4
Campaign segments
Named Audiences Ready to Send
Channel
EE — Email preferred
MM — Mobile preferred
BothBoth — Either channel, respecting preference at send
Expand all·Collapse all
Marathi at home — email preferredEIllustrative — from sample data77Language-led email nurture for Marathi-language live events
Filter: marketable AND marathi_speaking = 'Y' AND contact_preference = 'E'
EmailEmail — Hashed email from the preferred channel
MobileMobile — Hashed mobile from the preferred channel
Expand all·Collapse all
Meta — Custom AudiencesIllustrative — from sample data193Hashed email and mobile
Uploadable records from this file: 193 (email 127 + mobile 66, respecting preference).
APP 7.4 consent required for ancestry-derived targeting; Spam Act unsubscribe must remain available on owned channels; Meta policy limits apply to sensitive attributes.
Ancestry and language stay on owned sends. The match file carries only hashed contact points with current marketing consent.
Google — Customer MatchIllustrative — from sample data193Hashed email and mobile
Uploadable records from this file: 193 (email 127 + mobile 66, respecting preference).
Upload only records with current marketing consent. Ancestry and language fields stay off the match file — they segment owned sends, not the ad platform upload.
Ancestry and language stay on owned sends. The match file carries only hashed contact points with current marketing consent.
TikTok — Custom AudiencesIllustrative — from sample data193Hashed email and mobile
Uploadable records from this file: 193 (email 127 + mobile 66, respecting preference).
Same consent gate as Meta and Google. Platform sensitive-category rules further restrict ethnicity-based lookalikes.
Ancestry and language stay on owned sends. The match file carries only hashed contact points with current marketing consent.
Social and platform activation
Hashed Uploads to Ad Platforms
Email matchable
127
Mobile matchable
66
Match keys
Uploadable records from this file: 193 (email 127 + mobile 66, respecting preference).
APP 7.4 consent required for ancestry-derived targeting; Spam Act unsubscribe must remain available on owned channels; Meta policy limits apply to sensitive attributes.
Ancestry and language stay on owned sends. The match file carries only hashed contact points with current marketing consent.
Uploadable records from this file: 193 (email 127 + mobile 66, respecting preference).
Upload only records with current marketing consent. Ancestry and language fields stay off the match file — they segment owned sends, not the ad platform upload.
Ancestry and language stay on owned sends. The match file carries only hashed contact points with current marketing consent.
Uploadable records from this file: 193 (email 127 + mobile 66, respecting preference).
Same consent gate as Meta and Google. Platform sensitive-category rules further restrict ethnicity-based lookalikes.
Ancestry and language stay on owned sends. The match file carries only hashed contact points with current marketing consent.
Legal footing. Hashed contact points with current consent go up. Ancestry and language stay on owned sends. What may be uploaded to an ad platform, and what may not