Free Cleans!

Enter for a weekly chance at a free home clean!

Free Clean Giveaway


Sign Up for a Free Clean

Once a Week Drawings

Enter for your chance to win a professional 3-hour home cleaning service

Success! 🎉

You’re entered in the weekly drawing! We’ll contact you if you win.

Oops!

There was an error submitting your entry. Please try again.

Enter the Weekly Drawing

Fill out the form below to be entered into our weekly giveaway

First Name *

Last Name *

Home Address *

City *

State *

Zip Code *

Phone Number *

Email *

I agree to receive marketing communications from Cedar and Sage Home Service, including promotional offers, cleaning tips, and contest updates via email and SMS. You may unsubscribe at any time. *

Enter Drawing


Can’t Wait? Get My Super Discounted First Clean Today!

Need maintenance, repairs, or interior design?

Call us at (509) 415-2126

Contest Terms & Conditions

Availability: Clean will be scheduled based on our availability in your area.

Scheduling: Clean must be scheduled within 2 weeks of winning notification.

Service Duration: The complimentary clean will be for 3 hours of professional cleaning service.

Property Type: Clean is valid for personal residential homes only. No commercial properties, businesses, or rental properties.

Drawing Frequency: Winners are selected weekly. One entry per household.

// IMPORTANT: Replace ‘YOUR_GOOGLE_SCRIPT_URL’ with your actual Google Apps Script web app URL
const GOOGLE_SCRIPT_URL = ‘https://script.google.com/macros/s/AKfycbxYOjYpriNy9EmbrOFBZ1P20Dftn4l6B6o16QrDiER0hRYCKGgVzPrhWmmPLF84lBbOkA/exec’;

const form = document.getElementById(‘contestForm’);
const submitBtn = document.getElementById(‘submitBtn’);
const successMessage = document.getElementById(‘successMessage’);
const errorMessage = document.getElementById(‘errorMessage’);

form.addEventListener(‘submit’, async function(e) {
e.preventDefault();

// Disable submit button
submitBtn.disabled = true;
submitBtn.textContent = ‘Submitting…’;

// Hide previous messages
successMessage.classList.remove(‘show’);
errorMessage.classList.remove(‘show’);

// Create FormData object
const formData = new FormData(form);

try {
const response = await fetch(GOOGLE_SCRIPT_URL, {
method: ‘POST’,
body: formData
});

const result = await response.json();

if (result.result === ‘success’) {
// Show success message
successMessage.classList.add(‘show’);

// Reset form
form.reset();

// Scroll to success message
successMessage.scrollIntoView({ behavior: ‘smooth’, block: ‘center’ });
} else {
throw new Error(‘Submission failed’);
}
} catch (error) {
console.error(‘Error:’, error);
errorMessage.classList.add(‘show’);
errorMessage.scrollIntoView({ behavior: ‘smooth’, block: ‘center’ });
} finally {
// Re-enable submit button
submitBtn.disabled = false;
submitBtn.textContent = ‘Enter Drawing’;
}
});