Privacy
Privacy policy.
What this website collects, how it's used, and how data from a client engagement is handled separately.
What this covers
This policy covers two different things, and they are governed differently. The first is this website: the form you can fill out and the analytics that run while you browse. The second is the data we handle on a client’s behalf once an engagement starts - a client’s CRM records, ad accounts, or call logs. That second category belongs to the client, is governed by the signed statement of work described in our terms of service, and is covered separately in the “Client data” section below.
What we collect on this site
If you submit the contact form: your name, work email, phone number, company, role, number of locations, marketing spend band, current stack, and what you told us you’re trying to measure. The form also has an optional box consenting to text messages. Whether you check it or leave it unchecked, we record that choice along with the time it was made, the page you first arrived on, the page the form was submitted from, and the IP address the submission came from - a declined consent is logged with the same detail as a given one.
If you submit the audit-request form on our dental marketing landing page: your name, work email, phone number, and practice name, plus a monthly ad spend band and, optionally, your number of locations and anything else you told us. That form carries the same SMS consent box, recorded the same way, described above.
If you arrived from a paid ad, we also record the advertising campaign details carried in that arrival page’s web address - the campaign, source, medium, content, and term values, and a click identifier supplied by the advertising platform. If that click came from a Meta ad and you submit the dental landing page form or the ads audit copy request, we also send Meta a conversion event, described under Meta Platforms below.
If you connect a Meta ad account to our ads audit: with your permission, we read that account through Meta’s Marketing API. The permission is read-only. We read the account’s name, ID and currency; the names, status and objectives of its campaigns, ad sets and ads; ad set targeting settings and start and end dates; and 90 days of spend, impressions, clicks and conversion counts. We use it to build your report while the page loads. We do not store it. If you ask the report to send you a copy, we send your email address, the account’s name and the reporting period, and a summary of the findings to our CRM, as plain text and formatted for the email: the headline figure and each finding’s description. The summary carries counts and totals and no per-row data. A finding may name the specific campaign or ad set it refers to. If you arrived at the audit from a paid ad, that request also carries the campaign details and click identifier described above, and the time the click was recorded. It also carries a flag for whether the request looked automated, with how long the page had been open when you sent it. We use it to email you the copy and to follow up with you about it.
Through analytics - Google Analytics 4 and Google Tag Manager: pages viewed, referring source, approximate location from IP address, and device and browser type.
Cookies and browser storage
This site sets two kinds of cookie, and no others. The first is analytics cookies, set by GA4 and Google Tag Manager, so we can see aggregate traffic and behavior. This is not an advertising cookie - this site does not run retargeting pixels, and we do not sell or share this data with advertisers. Separately, our server sends Meta a conversion event when a visitor from a Meta ad submits the dental landing page form or the ads audit copy request. That event is sent from our server, not your browser. It carries only the click identifier Meta placed in the web address of the ad you clicked, and it is sent only if you arrived from a Meta ad, so your browser settings do not affect it; what it contains is listed under Meta Platforms below. You can refuse the analytics cookies through your browser’s cookie controls; refusing them does not affect your ability to browse the site or submit the contact form.
The second is set only if you connect a Meta ad account to our ads audit: two cookies limited to the audit’s pages. One holds a random value that confirms the connection came back to the browser that started it, and lasts ten minutes. The other holds the access token Meta issued, encrypted so that only our server can read it, and lasts one hour at most. It is deleted when you choose to disconnect. Neither is read by any other page on this site or by any third party.
If you arrive from a paid ad, this site separately stores the page you landed on, any campaign parameters, and the time the ad click was recorded using sessionStorage, a browser storage mechanism distinct from a cookie. It holds that information only for the length of your visit and clears automatically when you close the browser tab. It is first-party, held on your device for this site’s own use, and no third party reads it directly.
Text messages
The SMS consent box on the contact form is optional. Leaving it unchecked never affects whether we respond, how fast we respond, or anything else about how this site treats your submission - it only controls whether we text the number you gave us.
If you check it, the messages we send are customer care messages about your inquiry and the services you requested, sent to the number provided on the form. They are not marketing messages. Message frequency varies, and message and data rates may apply. Reply STOP to opt out of text messages, or HELP for help.
Phone numbers and SMS consent collected through this site are not sold, rented, or shared with third parties for their own marketing. Opt-in data is not shared with third parties for marketing purposes.
See our SMS terms for the full text messaging program terms, including who to contact and how to stop.
Retention
Ad account data read by the ads audit is not retained: it exists in memory while your report is built and is not written to storage. A request for a copy of your findings is treated like a contact form submission, below. A contact form submission that does not turn into a client or an active opportunity is deleted after 30 days. Once a submission becomes a client or opportunity record, we keep it for the life of the relationship plus 10 years. Analytics data is kept according to Google’s retention setting for this property, not a period we set ourselves.
Who processes data on our behalf
Google - analytics (GA4) and tag management (Google Tag Manager) for this site.
GoHighLevel - receives submissions from the forms on this site, including the phone number, and stores them as leads. It also receives an ads audit copy request: the email address and the findings summary described above. The same calendar you can book a time on from our dental landing page’s confirmation screen runs on GoHighLevel’s own booking product - it is not a separate processor, and we do not embed it on this site; it only opens in its own tab if you choose to click it.
Vercel - hosts this website and keeps its server logs. When a form submission fails to reach GoHighLevel, the failure is written to those logs, and what the line holds differs by form. For the ads audit copy request it holds your email address, the ad account’s name and the time, and nothing from the findings. For the contact form and the dental landing page form it holds the submission as sent: every field you filled in, including what you typed in the message boxes, the text message consent wording shown, the time, page and IP address recorded for your consent choice, and any advertising campaign values. A line is written only when a delivery fails, so that we can recover the inquiry by hand. Vercel keeps logs on its own schedule, which we do not set.
Sentry - receives contact form submission details, including name, email, phone, and company, or for the ads audit the email address and ad account name, but only when a submission fails to reach GoHighLevel or is flagged as possible spam, for the purpose of recovering that inquiry by hand.
Meta Platforms, Inc. - if you use our ads audit, you sign in to Meta and authorize read-only access, and Meta returns your ad account data to us when we request it. Meta handles your login and your ad account under its own terms. You can withdraw the permission at any time under business integrations in your Facebook settings. Separately, when someone who arrived from a Meta ad submits the dental landing page form or the ads audit copy request, our server sends Meta a conversion event so that Meta can tell which ads produced leads. The event says that a lead was submitted, when, from which page of this site, and carries the click identifier Meta itself placed in the ad’s web address. It carries no personal information: no name, email address, phone number, IP address or browser details. If a visitor did not arrive from a Meta ad there is no click identifier, and nothing is sent. Nothing is sent either for a submission our spam checks flag as automated.
We do not use a processor beyond the five listed here.
Data security
Contact form submissions travel over HTTPS from your browser to our servers, and from there to our CRM over an encrypted connection - there is no unencrypted path for a submission. Access to submissions is limited to the people who work on inquiries. This site does not collect payment card numbers, bank account details, Social Security numbers, or government identification numbers, and the contact form has no field for any of them. Where a submission fails to reach our CRM, its details are recorded in our error monitoring so the inquiry can be recovered by hand rather than lost silently, and those records carry the same retention period as the submission itself.
Client data
When an engagement gives us access to a client’s systems - a CRM, an EMR, a call tracking platform, an ad account - that access is granted by the client, scoped to what the engagement requires, and used only for that engagement. It is handled by the same senior team described on our about SiteOptz page, not a rotating pool of contractors.
Where a client is a covered entity, we sign a Business Associate Agreement before any work touching protected health information begins. Our team has completed HIPAA training, and we operate under written policies and safeguards governing how that data is stored, handled, and who can access it. We make no certification claim beyond this - no HIPAA certification exists, and no government body issues one.
We work to keep patient and customer identifiers out of the advertising platforms and analytics tools we configure, using de-identified or hashed values wherever a platform requires an identifier at all. Client data is never used to train any model, and it is never shared between clients - what we learn on one engagement stays with that engagement.
Your choices
To request access to, a correction of, or deletion of the information we hold about you, email info@siteoptz.com. We respond within one business day, the same commitment we make for every inquiry through this site. This covers the ads audit: if you asked for a copy of your findings, we will delete the contact and the stored findings summary from GoHighLevel. We cannot recall an email already sent to your inbox, and a log line from a failed delivery stays in Vercel’s logs under Vercel’s own retention.
Changes to this policy
We update this policy when what we collect or how we handle it changes. This version was last updated October 31, 2026.
How to reach us
Vortex Demand, LLC, doing business as SiteOptz
9595 Six Pines Dr., Ste 8210, The Woodlands, TX 77380
info@siteoptz.com
Questions about a specific engagement are best asked directly - see our four-stage engagement process for how one runs, or book a call to talk to someone about it.