Skip to main content

Real Estate Use Case

BidZenith can help real estate portals in numerous ways to monetize their data. Here are a few worked examples using a property portal, Happy Homes.

Happy Homes

Happy Homes is a real estate portal offering property listings for sale, rent, or lease, along with market insights and property data. It serves buyers, sellers, renters, and agents with tools and information to make informed property decisions.

Happy Homes Homepage

As "a hub for real estate", Happy Homes uses BidZenith for a number of monetization strategies:

  • Featured Properties listings on the homepage
  • Introductions to Estate Agents, for visitors looking to sell their property
  • Sponsored search placements

These are detailed below.

Monetization Strategies

Firstly, Happy Homes registered on the BidZenith platform to become a Seller.

They maintain an e-mail list of Real Estate agents that have interacted with their platform, which they used to invite those agents to create Campaigns.

They allow agents to manage their own Account balances and Campaigns on the platform, but also have a Sales & Marketing department that can adjust agents accounts as appropriate - for example, giving free credit as part of another contract negotiation.

The Happy Homes homepage displays a carousel of Featured Properties, often luxury or unique listings that benefit from the additional advertising exposure:

Happy Homes Featured Properties

The carousel has 12 spots, with 3 spots visible on the initial page load.

The spots in the carousel are auctioned every 15 minutes, allowing winners to have their listing presented for that duration.

Steps

Happy Homes created a Data Specification for the homepage Featured Properties:

curl -L 'https://app.bidzenith.com/v1/data-specifications' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"name": "Happy Homes - Homepage Featured Properties",
"culture": "en-AU",
"timeZone": "Australia/Sydney",
"description": "Featured homepage listings. Top 3 on load, 12 total. 15 minute duration.",
"properties": [ ]
}'

Happy Homes updated the Data Auction with the following settings:

curl -L 'https://app.bidzenith.com/v1/data-auction/<DATA_SPECIFICATION_ID>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"dataSpecificationId": "<DATA_SPECIFICATION_ID>",
"auctionSettings": {
"adjustBidIfBalanceIsLow": true,
"allowZeroMoneyBids": false,
"chargeHighestBidFromSameBidder": true,
"bidIncrementType": "FENCE_POST",
"bidIncrements": [
{
"increment": {
"currencyCode": "AUD",
"units": "0",
"nanos": 0
},
"amount": {
"currencyCode": "AUD",
"units": "0",
"nanos": 100000000
}
}
],
"startPricing": "STEPPED",
"startPrices": [
{
"query": {
"conditions": [
{
"propertyName": "string",
"condition": "",
"matchMissingValue": true
}
]
},
"amount": {
"currencyCode": "AUD",
"units": "5",
"nanos": 0
}
}
],
"pricing": "SECOND_PLUS_INCREMENT"
}
}'

The auction was setup as follows:

  • The auction price starts at $5.00 AUD (for a 15 minute duration)
  • The winner is charged the price of the second highest bid + $0.10 AUD

Happy Homes has a background worker task that calls the Auction a Data Instance API every 15 minutes, and stores the results for display on the page:

curl -L 'https://app.bidzenith.com/v1/auction/<DATA_SOURCE_ID>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"dataSourceId": "<DATA_SOURCE_ID>",
"dataInstance": {
"dataSpecificationId": "<DATA_SPECIFICATION_ID>",
"properties": [ ]
},
"winners": 12
}'

This returns the following result:

{
"sold": true,
"timestamp": "2024-10-30T04:19:35.955568100Z",
"dataInstanceId": "<DATA_INSTANCE_ID>",
"results": [
{
"campaignId": "<BUYER_1_CAMPAIGN_ID>",
"metadata": "listing:xyz456",
"amount": {
"currencyCode": "AUD",
"units": "25.10",
"nanos": 0
}
},
{
"campaignId": "<BUYER_2_CAMPAIGN_ID>",
"metadata": "listing:def789",
"amount": {
"currencyCode": "AUD",
"units": "21.10",
"nanos": 0
}
},
{
"campaignId": "<BUYER_3_CAMPAIGN_ID>",
"metadata": "listing:abc123",
"amount": {
"currencyCode": "AUD",
"units": "15.10",
"nanos": 0
}
}
/// snip
]
}

The metadata for each Campaign contains the Happy Homes Listing ID that the Buyer would like to promote. Happy Homes transforms the result into a JSON file that is loaded by the homepage, and stores the results in their data warehouse for later analysis.

Valuation Introductions

Happy Homes maintain a catalogue of all real estate and the estimated value of each property.

Happy Homes Introductions

Visitors to the site can register to track the value of their property, and also use the site for a free appraisal service. This appraisal service connects property sellers to agents who can assist in valuing their property. These introductions, or leads, can be monetized on the BidZenith platform.

Steps

Happy Homes created a Data Specification for Valuations Introductions:

curl -L 'https://app.bidzenith.com/v1/data-specifications' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"name": "Happy Homes - Valuation Introductions",
"culture": "en-AU",
"timeZone": "Australia/Sydney",
"description": "Leads generated from the property value portal, sellers looking for valuations.",
"properties": [
{
"name": "Name",
"description": "The seller's name",
"valueType": {
"provided": {
"isRequired": true
}
},
"isQueryable": false,
"visibility": "PRIVATE",
"propertyType": {
"name": {
"requireFirstName": true,
"requireLastName": true,
"requireTitle": false
}
}
},
{
"name": "Email",
"description": "The seller's email address",
"valueType": {
"provided": {
"isRequired": true
}
},
"isQueryable": false,
"visibility": "PRIVATE",
"propertyType": {
"text": {
"maximumLength": 1024,
"regularExpressionFormat": "^[^@]+@[^@]+$"
}
}
},
{
"name": "Telephone",
"description": "The seller's telephone number",
"valueType": {
"provided": {
"isRequired": true
}
},
"isQueryable": false,
"visibility": "PRIVATE",
"propertyType": {
"text": {
"maximumLength": 30,
"regularExpressionFormat": "^(\\+?61|0)[2-478]\\d+$"
}
}
},
{
"name": "Address",
"description": "The address to be valued",
"valueType": {
"provided": {
"isRequired": true
}
},
"isQueryable": true,
"visibility": "PRIVATE",
"propertyType": {
"address": {
"requireLine1": true,
"requireLine2": false,
"requireTownCity": false,
"requireRegion": false,
"requirePostcode": true,
"allowedTwoLetterCountryCodes": [
"AU"
]
}
}
},
{
"name": "HappyHomesValue",
"description": "The approximate value, based on Happy Homes portal",
"valueType": {
"provided": {
"isRequired": false
}
},
"isQueryable": true,
"visibility": "PUBLIC",
"propertyType": {
"int": {
"minimumValue": 0,
"maximumValue": 100000000
}
}
}
]
}'

The Data Specification enables buyers to create Campaigns with query criteria against

  • The seller's location
  • The estimated Happy Homes property value

For example, a buyer may be prepared to pay $55 AUD per introduction, but $100 per introduction if the property value is estimated to be greater than $2 million AUD.

Happy Homes updated the Data Auction with the following settings:

curl -L 'https://app.bidzenith.com/v1/data-auction/<DATA_SPECIFICATION_ID>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"dataSpecificationId": "<DATA_SPECIFICATION_ID>",
"auctionSettings": {
"adjustBidIfBalanceIsLow": true,
"allowZeroMoneyBids": false,
"chargeHighestBidFromSameBidder": true,
"bidIncrementType": "FENCE_POST",
"bidIncrements": [ ],
"startPricing": "STEPPED",
"startPrices": [
{
"query": {
"conditions": [
{
"propertyName": "string",
"condition": "",
"matchMissingValue": true
}
]
},
"amount": {
"currencyCode": "AUD",
"units": "50",
"nanos": 0
}
}
],
"pricing": "FIXED"
}
}'

The auction was setup as follows:

  • The auction price starts at $50.00 AUD
  • The winner is charged the amount of the bid

When the visitor clicks the "Get a free appraisal" button, they complete a short form. On form completion, the Auction a Data Instance API is called and the auction winner is sent the customer details and the customer is given the winning agent's details.

Happy Homes allows visitors to search over available properties for sale, rent and lease:

Happy Homes - Search Results

The search UI allows for free text, which is sent to Happy Home's search engine, with the search results shown to the user.

The top 3 results for a search are monetized and offered as "Sponsored Listings".

Underneath these "Sponsored Listings" the regular search results are shown.

Steps

Happy Homes created a Data Specification for Sponsored Search Results

curl -L 'https://app.bidzenith.com/v1/data-specifications' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"name": "Happy Homes - Sponsored Search Results",
"culture": "en-AU",
"timeZone": "Australia/Sydney",
"description": "Top 3 Sponsored search results.",
"properties": [
{
"name": "SearchQuery",
"description": "The visitor's search query",
"valueType": {
"provided": {
"isRequired": true
}
},
"isQueryable": true,
"visibility": "PRIVATE",
"propertyType": {
"text": {
"minimumLength": 0,
"maximumLength": 128
}
}
},
{
"name": "IPAddress",
"description": "The visitor's IP address",
"valueType": {
"provided": {
"isRequired": true
}
},
"isQueryable": true,
"visibility": "PRIVATE",
"propertyType": {
"ipaddress": {
"type": "IPv4"
}
}
}
]
}'

Happy Homes updated the Data Auction with the following settings:

curl -L 'https://app.bidzenith.com/v1/data-auction/<DATA_SPECIFICATION_ID>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"dataSpecificationId": "<DATA_SPECIFICATION_ID>",
"auctionSettings": {
"adjustBidIfBalanceIsLow": false,
"allowZeroMoneyBids": false,
"chargeHighestBidFromSameBidder": false,
"bidIncrementType": "FENCE_POST",
"bidIncrements": [ ],
"startPricing": "STEPPED",
"startPrices": [
{
"query": {
"conditions": [
{
"propertyName": "string",
"condition": "",
"matchMissingValue": true
}
]
},
"amount": {
"currencyCode": "AUD",
"units": "0",
"nanos": 1000000
}
}
],
"pricing": "FIXED"
}
}'

The auction was setup as follows:

  • The auction price starts at $0.001 AUD
  • The winner is charged the amount of the bid

When the visitor conducts a search, Happy Home's search flow makes a call to the Auction a Data Instance API with the search query and IP address:

curl -L 'https://app.bidzenith.com/v1/auction/<DATA_SOURCE_ID>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"dataSourceId": "<DATA_SOURCE_ID>",
"dataInstance": {
"dataSpecificationId": "<DATA_SPECIFICATION_ID>",
"properties": [
{
"name": "SearchQuery",
"value": {
"textValue": "7050"
}
,
{
"name": "IPAddress",
"value": {
"ipaddressValue": "64.172.13.198"
}
,
]
},
"winners": 3
}'

In the auction result, the metadata for each Campaign contains the Happy Homes Listing Id that the Buyer would like to promote. Happy Homes extracts these Listing Ids from the response and makes use of their search engine's capability to elevate/pin these listings above the rest of the search results.