badbirdiegolf.com
Open in
urlscan Pro
23.227.38.32
Public Scan
Submitted URL: http://badbirdiegolf.com/
Effective URL: https://badbirdiegolf.com/
Submission: On April 23 via api from US — Scanned from CA
Effective URL: https://badbirdiegolf.com/
Submission: On April 23 via api from US — Scanned from CA
Form analysis
6 forms found in the DOMPOST /localization
<form method="post" action="/localization" id="annbar-localization" accept-charset="UTF-8" class="form localization no-js-hidden" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization"><input type="hidden"
name="utf8" value="✓"><input type="hidden" name="_method" value="put"><input type="hidden" name="return_to" value="/">
<div class="localization__grid">
<div class="localization__selector">
<input type="hidden" name="country_code" value="CA">
<country-selector><label class="label visually-hidden no-js-hidden" for="annbar-localization-country-button">Country/Region</label>
<div class="custom-select relative w-full no-js-hidden"><button class="custom-select__btn input items-center" type="button" aria-expanded="false" aria-haspopup="listbox" id="annbar-localization-country-button">
<span class="text-start">Canada (CAD $)</span>
<svg width="20" height="20" viewBox="0 0 24 24" class="icon" role="presentation" focusable="false" aria-hidden="true">
<path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
</svg>
</button>
<ul class="custom-select__listbox absolute invisible" role="listbox" tabindex="-1" aria-hidden="true" hidden="" aria-activedescendant="annbar-localization-country-opt-0">
<li class="custom-select__option flex items-center js-option" id="annbar-localization-country-opt-0" role="option" data-value="CA" aria-selected="true">
<span class="pointer-events-none">Canada (CAD $)</span>
</li>
</ul>
</div>
</country-selector>
</div>
</div>
<script>
customElements.whenDefined('custom-select').then(() => {
if (!customElements.get('country-selector')) {
class CountrySelector extends customElements.get('custom-select') {
constructor() {
super();
this.loaded = false;
}
async showListbox() {
if (this.loaded) {
super.showListbox();
return;
}
this.button.classList.add('is-loading');
this.button.setAttribute('aria-disabled', 'true');
try {
const response = await fetch('?section_id=country-selector');
if (!response.ok) throw new Error(response.status);
const tmpl = document.createElement('template');
tmpl.innerHTML = await response.text();
const el = tmpl.content.querySelector('.custom-select__listbox');
this.listbox.innerHTML = el.innerHTML;
this.options = this.querySelectorAll('.custom-select__option');
this.loaded = true;
} catch {
this.listbox.innerHTML = '<li>Error fetching countries, please try again.</li>';
} finally {
super.showListbox();
this.button.classList.remove('is-loading');
this.button.setAttribute('aria-disabled', 'false');
}
}
setButtonWidth() {
return;
}
}
customElements.define('country-selector', CountrySelector);
}
});
</script>
<script>
document.getElementById('annbar-localization').addEventListener('change', (evt) => {
const input = evt.target.previousElementSibling;
if (input && input.tagName === 'INPUT') {
input.value = evt.detail.selectedValue;
evt.currentTarget.submit();
}
});
</script>
</form>
GET /search
<form class="main-search__form" action="/search" method="get" autocomplete="off">
<div class="main-search__input-container">
<input class="main-search__input" type="text" name="q" autocomplete="off" placeholder="Search our store" aria-label="Search">
<button class="main-search__button" type="submit" aria-label="Search"><svg class="icon" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation">
<g transform="translate(3 3)" stroke="currentColor" stroke-width="1.5" fill="none" fill-rule="evenodd">
<circle cx="7.824" cy="7.824" r="7.824"></circle>
<path stroke-linecap="square" d="m13.971 13.971 4.47 4.47"></path>
</g>
</svg></button>
</div>
<script src="//badbirdiegolf.com/cdn/shop/t/258/assets/search-suggestions.js?v=136224079820713396391710170999" defer=""></script>
<search-suggestions></search-suggestions>
</form>
POST /localization
<form method="post" action="/localization" id="annbar-localizationMobileNav" accept-charset="UTF-8" class="form localization no-js-hidden" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization"><input type="hidden"
name="utf8" value="✓"><input type="hidden" name="_method" value="put"><input type="hidden" name="return_to" value="/">
<div class="localization__grid">
<div class="localization__selector">
<input type="hidden" name="country_code" value="CA">
<country-selector><label class="label visually-hidden no-js-hidden" for="annbar-localization-country-buttonMobileNav">Country/Region</label>
<div class="custom-select relative w-full no-js-hidden"><button class="custom-select__btn input items-center" type="button" aria-expanded="false" aria-haspopup="listbox" id="annbar-localization-country-buttonMobileNav">
<span class="text-start">Canada (CAD $)</span>
<svg width="20" height="20" viewBox="0 0 24 24" class="icon" role="presentation" focusable="false" aria-hidden="true">
<path d="M20 8.5 12.5 16 5 8.5" stroke="currentColor" stroke-width="1.5" fill="none"></path>
</svg>
</button>
<ul class="custom-select__listbox absolute invisible" role="listbox" tabindex="-1" aria-hidden="true" hidden="" aria-activedescendant="annbar-localization-country-opt-0">
<li class="custom-select__option flex items-center js-option" id="annbar-localization-country-opt-0MobileNav" role="option" data-value="CA" aria-selected="true">
<span class="pointer-events-none">Canada (CAD $)</span>
</li>
</ul>
</div>
</country-selector>
</div>
</div>
<script>
customElements.whenDefined('custom-select').then(() => {
if (!customElements.get('country-selector')) {
class CountrySelector extends customElements.get('custom-select') {
constructor() {
super();
this.loaded = false;
}
async showListbox() {
if (this.loaded) {
super.showListbox();
return;
}
this.button.classList.add('is-loading');
this.button.setAttribute('aria-disabled', 'true');
try {
const response = await fetch('?section_id=country-selector');
if (!response.ok) throw new Error(response.status);
const tmpl = document.createElement('template');
tmpl.innerHTML = await response.text();
const el = tmpl.content.querySelector('.custom-select__listbox');
this.listbox.innerHTML = el.innerHTML;
this.options = this.querySelectorAll('.custom-select__option');
this.loaded = true;
} catch {
this.listbox.innerHTML = '<li>Error fetching countries, please try again.</li>';
} finally {
super.showListbox();
this.button.classList.remove('is-loading');
this.button.setAttribute('aria-disabled', 'false');
}
}
setButtonWidth() {
return;
}
}
customElements.define('country-selector', CountrySelector);
}
});
</script>
<script>
document.getElementById('annbar-localization').addEventListener('change', (evt) => {
const input = evt.target.previousElementSibling;
if (input && input.tagName === 'INPUT') {
input.value = evt.detail.selectedValue;
evt.currentTarget.submit();
}
});
</script>
</form>
<form class="needsclick klaviyo-form klaviyo-form-version-cid_1 kl-private-reset-css-Xuajs1" data-testid="klaviyo-form-Sk6Ggj" novalidate="" tabindex="-1"
style="display: flex; flex-direction: row; box-sizing: border-box; width: 100%; overflow: visible; border-radius: 0px; border-style: none; border-width: 0px; border-color: rgb(0, 0, 0); background-color: rgba(255, 255, 255, 0); background-repeat: no-repeat; background-position-y: 50%; padding: 0px; flex: 1 1 0%;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: column; width: 100%; margin: 0px; padding: 0px; min-height: 40px; justify-content: center;">
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 0px 5px; position: relative; flex: 1 0 0px;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="width: 100%; justify-content: flex-start; display: flex;">
<div class="needsclick go2376614969 kl-private-reset-css-Xuajs1" style="align-self: flex-end; flex-flow: column wrap;">
<div role="radiogroup" aria-labelledby="kl_Gender%20Preference__2_label" class="needsclick kl-private-reset-css-Xuajs1" style="display: inline-flex; justify-content: flex-start; flex-wrap: wrap;"><input
class="needsclick go2180652697 kl-private-reset-css-Xuajs1" tabindex="0" type="radio" id="Gender%20Preference__2__7" name="Gender%20Preference__2" aria-invalid="false" aria-label="MEN'S"><label for="Gender%20Preference__2__7"
class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; align-items: center; flex: 0 0 auto; padding-bottom: 8px; word-break: break-word; max-width: 100%; cursor: pointer;"><svg class="go275276637" width="20px"
height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="stroke: rgb(187, 187, 187); margin-right: 8px; min-width: 20px; width: auto; height: auto;">
<g>
<g>
<circle stroke-width="1" cx="10" cy="10" r="9.5" fill="#FFFFFF"></circle>
</g>
</g>
</svg><svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="cursor: pointer; display: none; position: absolute; margin: 0px;">
<defs></defs>
<g id="radio_inner_Gender%20Preference__2__7" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="shape-radio_inner_Gender%20Preference__2__7" transform="translate(4.000000, 4.000000)" fill="#303B43">
<circle fill="#000000" id="oval-radio_inner_Gender%20Preference__2__7" cx="6" cy="6" r="5.55555556"></circle>
</g>
</g>
</svg>
<div class="needsclick kl-private-reset-css-Xuajs1"
style="cursor: pointer; color: rgb(109, 113, 117); font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0px; margin-right: 24px; display: flex; position: relative; top: 1px;">MEN'S</div>
</label><input class="needsclick go2180652697 kl-private-reset-css-Xuajs1" tabindex="0" type="radio" id="Gender%20Preference__2__8" name="Gender%20Preference__2" aria-invalid="false" aria-label="WOMEN'S"><label
for="Gender%20Preference__2__8" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; align-items: center; flex: 0 0 auto; padding-bottom: 8px; word-break: break-word; max-width: 100%; cursor: pointer;"><svg
class="go275276637" width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"
style="stroke: rgb(187, 187, 187); margin-right: 8px; min-width: 20px; width: auto; height: auto;">
<g>
<g>
<circle stroke-width="1" cx="10" cy="10" r="9.5" fill="#FFFFFF"></circle>
</g>
</g>
</svg><svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="cursor: pointer; display: none; position: absolute; margin: 0px;">
<defs></defs>
<g id="radio_inner_Gender%20Preference__2__8" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="shape-radio_inner_Gender%20Preference__2__8" transform="translate(4.000000, 4.000000)" fill="#303B43">
<circle fill="#000000" id="oval-radio_inner_Gender%20Preference__2__8" cx="6" cy="6" r="5.55555556"></circle>
</g>
</g>
</svg>
<div class="needsclick kl-private-reset-css-Xuajs1"
style="cursor: pointer; color: rgb(109, 113, 117); font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0px; margin-right: 24px; display: flex; position: relative; top: 1px;">WOMEN'S</div>
</label><input class="needsclick go2180652697 kl-private-reset-css-Xuajs1" tabindex="0" type="radio" id="Gender%20Preference__2__9" name="Gender%20Preference__2" aria-invalid="false" aria-label="BOTH"><label
for="Gender%20Preference__2__9" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; align-items: center; flex: 0 0 auto; padding-bottom: 8px; word-break: break-word; max-width: 100%; cursor: pointer;"><svg
class="go275276637" width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"
style="stroke: rgb(187, 187, 187); margin-right: 8px; min-width: 20px; width: auto; height: auto;">
<g>
<g>
<circle stroke-width="1" cx="10" cy="10" r="9.5" fill="#FFFFFF"></circle>
</g>
</g>
</svg><svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="cursor: pointer; display: none; position: absolute; margin: 0px;">
<defs></defs>
<g id="radio_inner_Gender%20Preference__2__9" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="shape-radio_inner_Gender%20Preference__2__9" transform="translate(4.000000, 4.000000)" fill="#303B43">
<circle fill="#000000" id="oval-radio_inner_Gender%20Preference__2__9" cx="6" cy="6" r="5.55555556"></circle>
</g>
</g>
</svg>
<div class="needsclick kl-private-reset-css-Xuajs1"
style="cursor: pointer; color: rgb(109, 113, 117); font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0px; margin-right: 24px; display: flex; position: relative; top: 1px;">BOTH</div>
</label></div>
<div class="needsclick kl-private-reset-css-Xuajs1" style="width: 100%; position: relative;"></div>
</div>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 10px 0px 0px; position: relative; flex: 1 0 0px;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-grow: 1; flex-direction: column; align-self: flex-end;"><input id="email_78314115" class="needsclick go625923615 kl-private-reset-css-Xuajs1" type="email"
autocomplete="email" name="email" tabindex="0" placeholder="Enter your email" aria-label="Enter your email" aria-invalid="false" options="[object Object]"
style="box-sizing: border-box; border-radius: 0px; padding: 0px 0px 0px 16px; height: 40px; text-align: left; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0px; background-color: rgb(255, 255, 255); border: 1px solid rgb(187, 187, 187);">
<div class="needsclick kl-private-reset-css-Xuajs1" style="width: 100%; position: relative;"></div>
</div>
</div>
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px; position: relative; flex: 0 1 auto; margin: 0px auto;"><button
class="needsclick go3894874857 kl-private-reset-css-Xuajs1" type="button" tabindex="0"
style="background: rgb(0, 0, 0); border-radius: 0px; border-style: none; border-color: rgb(0, 0, 0); border-width: 2px; color: rgb(255, 255, 255); font-family: Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 0px; line-height: 1; white-space: normal; padding: 0px 10px; text-align: center; word-break: break-word; align-self: flex-end; cursor: pointer; height: 40px;">SIGN
UP</button></div>
</div>
</div><input type="submit" tabindex="-1" value="Submit" style="display: none;">
</form>
POST /localization
<form method="post" action="/localization" id="footer-localization" accept-charset="UTF-8" class="form localization no-js-hidden" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization"><input type="hidden"
name="utf8" value="✓"><input type="hidden" name="_method" value="put"><input type="hidden" name="return_to" value="/">
<div class="localization__grid"></div>
<script>
document.getElementById('footer-localization').addEventListener('change', (evt) => {
const input = evt.target.previousElementSibling;
if (input && input.tagName === 'INPUT') {
input.value = evt.detail.selectedValue;
evt.currentTarget.submit();
}
});
</script>
</form>
<form class="needsclick klaviyo-form klaviyo-form-version-cid_10 kl-private-reset-css-Xuajs1" data-testid="klaviyo-form-Wm9pbD" novalidate="" tabindex="-1"
style="display: flex; flex-direction: row; box-sizing: border-box; width: 780px; min-width: 200px; max-width: 1000px; border-radius: 0px; border-style: none; border-width: 0px; border-color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); background-repeat: no-repeat; background-position-y: 50%; padding: 50px 20px; flex: 1 1 0%;">
<div class="needsclick kl-private-reset-css-Xuajs1"
style="display: flex; flex-direction: column; width: 390px; margin: -50px 0px -50px -20px; padding: 0px; border-top: 0px solid transparent; border-right: 0px; border-bottom: 0px solid transparent; border-left: 0px solid transparent; border-bottom-left-radius: 0px; border-top-left-radius: 0px; overflow: hidden; min-width: 390px;">
<div class="needsclick kl-private-reset-css-Xuajs1"
style="background-image: url("https://d3k81ch9hvuctc.cloudfront.net/company/JZaUva/images/edc7a921-180d-48d1-be85-bb54fd20ca8a.jpeg"); background-repeat: no-repeat; background-size: cover; background-position: 50% 50%; width: 100%; height: 100%; display: block;">
</div>
</div>
<div class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: column; width: 100%; margin: 0px; padding: 0px 0px 0px 20px; justify-content: center;">
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 20px 0px 23px; position: relative; flex: 0 1 auto; margin: 0px auto;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; align-items: center; width: 100%; height: auto;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="position: relative; display: flex; align-items: center; width: 100%; height: auto;"><img
src="https://d3k81ch9hvuctc.cloudfront.net/company/JZaUva/images/ed86a53b-0e28-415b-8a62-cdbcd7f5bcc0.png" tabindex="-1" alt="Bad Birdie" class="needsclick kl-private-reset-css-Xuajs1"
style="max-width: 100%; width: 252px; height: auto; cursor: initial;"></div>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 10px 6px; position: relative; flex: 1 0 0px;">
<div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-96773220" style="width: 100%;">
<p style="font-size: 14px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400; text-align: center;"><span class="ql-font-oswald"
style="color: #ffffff; font-size: 23px; font-family: Helvetica, Arial, sans-serif; font-weight: bold;"><span style="font-size: 38px;">10% OFF</span><br><span style="font-size: 21px;">YOUR FIRST ORDER</span></span></p>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 5px 25px 19px; position: relative; flex: 1 0 0px;">
<div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-96773221" style="width: 100%;">
<p style="font-size: 14px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400; text-align: center; line-height: 130%;"><span
style="font-size: 16px; font-family: Helvetica, Arial, sans-serif; font-weight: 400; color: #ffffff;">Join our newsletter to unlock your 10% discount and gain exclusive access to upcoming drops, restocks, collabs, and so much
more.</span></p>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 10px 6px 7px 11px; position: relative; flex: 1 0 0px;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="width: 100%; justify-content: flex-start; display: flex;">
<div class="needsclick go2376614969 kl-private-reset-css-Xuajs1" style="align-self: flex-end; flex-flow: column wrap;"><label id="kl_Gender%20Preference__16_label" class="needsclick kl-private-reset-css-Xuajs1"
style="color: rgb(255, 255, 255); font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0px; padding-bottom: 6px; margin-right: 8px; margin-bottom: 8px;">Product Preferences</label>
<div role="radiogroup" aria-labelledby="kl_Gender%20Preference__16_label" class="needsclick kl-private-reset-css-Xuajs1" style="display: inline-flex; justify-content: flex-start; flex-wrap: wrap;"><input
class="needsclick go2180652697 kl-private-reset-css-Xuajs1" tabindex="0" type="radio" id="Gender%20Preference__16__25" name="Gender%20Preference__16" aria-invalid="false" aria-label="MEN'S"><label for="Gender%20Preference__16__25"
class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; align-items: center; flex: 0 0 auto; padding-bottom: 8px; word-break: break-word; max-width: 100%; cursor: pointer;"><svg class="go3360010050" width="20px"
height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="stroke: rgb(0, 0, 0); margin-right: 8px; min-width: 20px; width: auto; height: auto;">
<g>
<g>
<circle stroke-width="1" cx="10" cy="10" r="9.5" fill="rgba(255,255,255,1)"></circle>
</g>
</g>
</svg><svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="cursor: pointer; display: none; position: absolute; margin: 0px;">
<defs></defs>
<g id="radio_inner_Gender%20Preference__16__25" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="shape-radio_inner_Gender%20Preference__16__25" transform="translate(4.000000, 4.000000)" fill="#303B43">
<circle fill="#000000" id="oval-radio_inner_Gender%20Preference__16__25" cx="6" cy="6" r="5.55555556"></circle>
</g>
</g>
</svg>
<div class="needsclick kl-private-reset-css-Xuajs1"
style="cursor: pointer; color: rgb(255, 255, 255); font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; letter-spacing: 0px; margin-right: 24px; display: flex; position: relative; top: 1px;">MEN'S</div>
</label><input class="needsclick go2180652697 kl-private-reset-css-Xuajs1" tabindex="0" type="radio" id="Gender%20Preference__16__26" name="Gender%20Preference__16" aria-invalid="false" aria-label="WOMEN'S"><label
for="Gender%20Preference__16__26" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; align-items: center; flex: 0 0 auto; padding-bottom: 8px; word-break: break-word; max-width: 100%; cursor: pointer;"><svg
class="go3360010050" width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="stroke: rgb(0, 0, 0); margin-right: 8px; min-width: 20px; width: auto; height: auto;">
<g>
<g>
<circle stroke-width="1" cx="10" cy="10" r="9.5" fill="rgba(255,255,255,1)"></circle>
</g>
</g>
</svg><svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="cursor: pointer; display: none; position: absolute; margin: 0px;">
<defs></defs>
<g id="radio_inner_Gender%20Preference__16__26" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="shape-radio_inner_Gender%20Preference__16__26" transform="translate(4.000000, 4.000000)" fill="#303B43">
<circle fill="#000000" id="oval-radio_inner_Gender%20Preference__16__26" cx="6" cy="6" r="5.55555556"></circle>
</g>
</g>
</svg>
<div class="needsclick kl-private-reset-css-Xuajs1"
style="cursor: pointer; color: rgb(255, 255, 255); font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; letter-spacing: 0px; margin-right: 24px; display: flex; position: relative; top: 1px;">WOMEN'S</div>
</label><input class="needsclick go2180652697 kl-private-reset-css-Xuajs1" tabindex="0" type="radio" id="Gender%20Preference__16__27" name="Gender%20Preference__16" aria-invalid="false" aria-label="BOTH"><label
for="Gender%20Preference__16__27" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; align-items: center; flex: 0 0 auto; padding-bottom: 8px; word-break: break-word; max-width: 100%; cursor: pointer;"><svg
class="go3360010050" width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="stroke: rgb(0, 0, 0); margin-right: 8px; min-width: 20px; width: auto; height: auto;">
<g>
<g>
<circle stroke-width="1" cx="10" cy="10" r="9.5" fill="rgba(255,255,255,1)"></circle>
</g>
</g>
</svg><svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="cursor: pointer; display: none; position: absolute; margin: 0px;">
<defs></defs>
<g id="radio_inner_Gender%20Preference__16__27" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="shape-radio_inner_Gender%20Preference__16__27" transform="translate(4.000000, 4.000000)" fill="#303B43">
<circle fill="#000000" id="oval-radio_inner_Gender%20Preference__16__27" cx="6" cy="6" r="5.55555556"></circle>
</g>
</g>
</svg>
<div class="needsclick kl-private-reset-css-Xuajs1"
style="cursor: pointer; color: rgb(255, 255, 255); font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; letter-spacing: 0px; margin-right: 24px; display: flex; position: relative; top: 1px;">BOTH</div>
</label></div>
<div class="needsclick kl-private-reset-css-Xuajs1" style="width: 100%; position: relative;"></div>
</div>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 6px; position: relative; flex: 1 0 0px;">
<div class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-grow: 1; flex-direction: column; align-self: flex-end;"><input id="email_96773223" class="needsclick go1625513821 kl-private-reset-css-Xuajs1" type="email"
autocomplete="email" name="email" tabindex="0" placeholder="EMAIL" aria-label="EMAIL" aria-invalid="false" options="[object Object]"
style="box-sizing: border-box; border-radius: 0px; padding: 0px 0px 0px 16px; height: 40px; text-align: left; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; letter-spacing: 0px; background-color: rgb(255, 255, 255); border: 1px solid rgb(0, 0, 0);">
<div class="needsclick kl-private-reset-css-Xuajs1" style="width: 100%; position: relative;"></div>
</div>
</div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 10px 7px; position: relative; flex: 1 0 0px;"><button
class="needsclick go952291206 kl-private-reset-css-Xuajs1" type="button" tabindex="0"
style="background: rgb(250, 133, 189); border-radius: 0px; border-style: none; border-color: rgb(0, 0, 0); border-width: 0px; color: rgb(0, 0, 0); font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 18px; font-weight: 700; letter-spacing: 0px; line-height: 1; white-space: normal; padding-top: 0px; padding-bottom: 0px; text-align: center; word-break: break-word; align-self: flex-end; cursor: pointer; height: 50px; width: 100%;">UNLOCK
10% OFF</button></div>
</div>
<div data-testid="form-row" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
<div component="[object Object]" data-testid="form-component" class="needsclick kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 10px 6px 0px; position: relative; flex: 1 0 0px;"><button
class="needsclick go952291206 kl-private-reset-css-Xuajs1" type="button" tabindex="0"
style="background: rgba(48, 59, 67, 0); border-radius: 2px; border-style: none; border-color: rgb(0, 0, 0); border-width: 0px; color: rgb(255, 255, 255); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 400; letter-spacing: 0px; line-height: 1; white-space: normal; padding-top: 0px; padding-bottom: 0px; text-align: center; word-break: break-word; align-self: flex-end; cursor: pointer; height: 50px; width: 100%;">NO
THANKS</button></div>
</div>
</div><input type="submit" tabindex="-1" value="Submit" style="display: none;">
</form>
Text Content
Free shipping to Canada on all orders above CA$140.00 Skip to content * Instagram * TikTok FREE US SHIPPING ON ORDERS $100+ BAD REWARDS Country/Region Canada (CAD $) * Canada (CAD $) Search * Men's * Women's * Youth * Hats * New Account Search Cart * Men's * FEATURED * Newest Drops * Spring Collection * Amateurs Collection * Clubhouse Collection * Best Sellers * TOPS * Polos * Quarterzips * T-Shirts * Sweatshirts * Vests * All Tops * BOTTOMS * Pants * Shorts * Sweatpants * All Bottoms * ACCESSORIES * Hats * Socks * Headcovers * Gloves * All Accessories * Women's * FEATURED * Newest Drops * Amateurs Collection * Best Sellers * Spring Collection * Matching Sets * TOPS * Polos * Quarterzips * Sweatshirts * Rompers * All Tops * DRESSES * Performance * Long Sleeve * Sleeveless * All Dresses * BOTTOMS * Pants * Sweatpants * Skorts * Shorts * All Bottoms * Accessories * Hats * Socks * Headcovers * Gloves * All Accessories * Youth * Hats * New * Men's * FEATURED * Newest Drops * Spring Collection * Amateurs Collection * Clubhouse Collection * Best Sellers * TOPS * Polos * Quarterzips * T-Shirts * Sweatshirts * Vests * All Tops * BOTTOMS * Pants * Shorts * Sweatpants * All Bottoms * ACCESSORIES * Hats * Socks * Headcovers * Gloves * All Accessories * Women's * FEATURED * Newest Drops * Amateurs Collection * Best Sellers * Spring Collection * Matching Sets * TOPS * Polos * Quarterzips * Sweatshirts * Rompers * All Tops * DRESSES * Performance * Long Sleeve * Sleeveless * All Dresses * BOTTOMS * Pants * Sweatpants * Skorts * Shorts * All Bottoms * Accessories * Hats * Socks * Headcovers * Gloves * All Accessories * Youth * Hats * New BAD REWARDS Country/Region Canada (CAD $) * Canada (CAD $) * Instagram * TikTok New drop NO LIFEGUARD ON DUTY shop now New drop SPRING-READY STYLES shop now WELCOME TO TEAM BAD BIRDIE: MICAH MORRIS Shop Micah's Look LEFT BEST SELLERS RIGHT View all Left Right Quick buy Lily Lilac Men's Polo $130 Left Right Quick buy Blueprint Men's Polo $130 BEST SELLER Left Right Quick buy Poetic Justice Men's Polo $130 BEST SELLER Left Right Quick buy Salt Shaker Men's Polo $130 BEST SELLER Left Right Quick buy Deserted Men's Pique Polo $130 BEST SELLER Left Right Quick buy Ridge Polo - Black Men's Ridge Polo $130 BEST SELLER Left Right Quick buy Double Down Skort Women's Bottoms $130 BEST SELLER Left Right Quick buy Sky Blue Men's Pique Polo $130 BEST SELLER Left Right Quick buy Azalea Polo Men's Polo $140 BEST SELLER Left Right Quick buy Block Party Men's Polo $130 ‹› View all NEW MEN'S STYLES NEW WOMEN'S STYLES NEW HEADWEAR LEFT SHOP HATS RIGHT View all Left Right Quick buy Amateurs Twill Snapback Hats $70 BEST SELLER Left Right Quick buy Birdie Snapback - White Hats $63 BEST SELLER Left Right Quick buy Birdie Snapback - Black Hats $63 BEST SELLER Left Right Quick buy Sun Bucket Hat - White Hats $63 BEST SELLER Left Right Quick buy Midnight Camo Hat Hats $63 BEST SELLER Left Right Quick buy Birdie Snapback - Total Eclipse Hats $63 BEST SELLER Left Right Quick buy "Bad" Rope Golf Hat - Black Hats $60 + BEST SELLER Left Right Quick buy "Bad" Rope Golf Hat - White Hats $60 + BEST SELLER Left Right Quick buy Amateurs Twill Rope Hat Hats $70 BEST SELLER Left Right Quick buy Active Bad Hat Hats $63 BEST SELLER Left Right Quick buy Deserted Rope Hat Hats $63 BEST SELLER Left Right Quick buy "Bad" Rope Golf Hat - Dark Navy Hats $63 + ‹› View all OUR MISSION We create disruptive golf apparel to move the sport forward into a more innovative and inclusive space. The next generation of golf is here. Exclusive access & more NEVER MISS A DROP WITH THE BAD BIRDIE APP Early access, app exclusive products, and special discounts. Only available at the Bad Birdie app. We’ll see you there. Download the app 5,300+ Reviews and counting 5,300+ Reviews and counting > I have wore this out two times to the course and received compliments each > time!! Classy and stylish! — William P. 5,300+ Reviews and counting > Perfect beach, golf, boating, brunch shirt and colors match great with blue, > white, tan, black. — Chad W. 5,300+ Reviews and counting > Such a beautiful lavender mock neck—super comfortable! I wore it while golfing > with some friends and received a lot of compliments. The color is just like > the picture and the fabric is so soft. — Yuri P. 5,300+ Reviews and counting > The shirt fits great. Very comfortable to play golf in and stylish enough for > the 19th hole. — Denny M. Previous Next THE BIRDIE FAM Stoked for spring golf ⛳️ and badbirdiegolf 2024 spring collection! • • • #golf #badbirdiegolf #badbirdieambassador #spring2024 • 📸: alfredocampov 18 MARCH 2024 Green's In Reg 78.00 Flag Patch Rope Hat - Black 38.00 My heart🥹 📸 ashlee.driver badbirdiegolf 13 MARCH 2024 Deserted 78.00 Deserted Rope Hat 38.00 The Shallows Youth 55.00 PGA did not disappoint 🫶🏼 cognizantclassic badbirdiegolf #badbirdieambassador 04 MARCH 2024 Red Alert 58.50 "Bad" Rope Golf Hat - White 36.00 Double Down Skort 78.00 It’s almost time!!! New episode of Beers with Peers comes out later today! Stay tuned to watch us have an amazing time with atlmde while drinking and playing ou... 23 FEBRUARY 2024 Four Peaks Pique Polo 84.00 Four Peaks Patch Rope Hat 38.00 Blend Setter 78.00 Jauz | Veld 2023 14 FEBRUARY 2024 Black Bad Tee 38.00 Ain’t no party like a badbirdiegolf party!! 🐦 Thank you so much for partnering with me for this event! If you missed out, give them a follow, turn on notificat... 08 FEBRUARY 2024 Four Peaks Pique Polo 84.00 "Bad" Rope Golf Hat - Black 36.00 Daydreaming in badbirdiegolf ☁️⛳️🫶🏽 #badbirdieambassador 02 FEBRUARY 2024 Ivy League Dress 97.50 First of many ⛳️ Use Code “ANDRES15” at checkout for 15% off badbirdiegolf #badbirdieambassador #tournament #badbirdie #golf 31 JANUARY 2024 Powell 78.00 Birdie Snapback - Black 38.00 Tossed Logo Driver - White 42.00 Tossed Logo Mallet - Black 38.00 Plus symbol IN-STORE EXCLUSIVES Find a Bad Birdie store near you Store Locator Free US shipping over $100 QUESTIONS? 45-Day Hassle-Free Returns Shop * Men's * Women's * Hats * Youth * Best Sellers * Gift Cards * Rewards More Info * Size Guides * Mobile App * Partnerships * Become an Ambassador * Breakfast Balls About Bad Birdie * About Us * Our Stores * Rewards Program * High School Program * Giving Back * Careers Newsletter Never miss a drop and get 10% off your first order. MEN'S WOMEN'S BOTH SIGN UP * Contact Us * Privacy Policy * Terms of Service * Shipping * Returns & Exchanges * FAQs © 2024 Bad Birdie. Your cart Close Spend $100.00 more for free shipping! Your order is eligible for free shipping! Checkout Close Your cart is empty Start shopping front 67385884865 en CAD Enable accessibility Accessibility Close icon Close accessibility Reset All Checked mark Statement Language English French Spanish German Italian Portuguese Chinese Japanese Arabic Hebrew Persian Adjust font size Checked mark Font Size Screen Reader Checked mark Screen Reader Contrast Checked mark Contrast Inverted Low Contrast High Contrast Highlight Links Checked mark Highlight Links Change Cursor Checked mark Cursor Text align Text left Text right Checked mark Text Align Text Left Text Center Text Right Saturation icon Checked mark Saturation Low Saturation High Saturation Grayscale Line Height Checked mark Line Height Letter Spacing Checked mark Letter Spacing Stop Animations Checked mark Stop Animation Mute sounds Checked mark Mute Sounds Hide Image Checked mark Hide Images Adjust text colors Checked mark Reset Adjust heading colors Checked mark Reset Adjust background colors Checked mark Reset Powered by CodeInspire ↗ Refer Friends Close dialog 10 10% OFF YOUR FIRST ORDER Join our newsletter to unlock your 10% discount and gain exclusive access to upcoming drops, restocks, collabs, and so much more. Product Preferences MEN'S WOMEN'S BOTH UNLOCK 10% OFF NO THANKS