docs: record Google Ads consultation conversion configuration and privacy-gated Astro handoff
This commit is contained in:
1 parent
32112edbde
commit
2ce8c849c0
1 file changed
+156
@@ -0,0 +1,156 @@
|
||||
# Google Ads consultation-form conversion: Astro implementation handoff
|
||||
|
||||
**Recorded:** 2026-10-08
|
||||
**Repository branch:** `faithful-astro-migration`
|
||||
**Status:** **Configuration documented only. NOT approved for production installation or activation.**
|
||||
|
||||
This document preserves the conversion action configured in the AIA Google Ads
|
||||
organization account for the future Astro consultation/ABA-therapy landing pages.
|
||||
It is a handoff to the site-migration and landing-page implementation work, **not**
|
||||
authorization to install advertising tags. Follow the repository's
|
||||
`AGENTS.md`/form-implementation constraints. As of this document, existing
|
||||
migration forms are intentionally static; do not silently wire them to a backend
|
||||
or add tracking while working on the visual migration.
|
||||
|
||||
## Google Ads configuration (verified in account UI)
|
||||
|
||||
| Field | Value |
|
||||
| --- | --- |
|
||||
| Google Ads customer/account | `515-940-4739` |
|
||||
| Conversion action | `AIA | Consultation Form Submitted` |
|
||||
| Goal/category | `Submit lead form` |
|
||||
| Source | Website, **manual event** |
|
||||
| Optimization | Primary; account-default goal (alongside Phone call lead) |
|
||||
| Value | USD $1, fixed nominal reporting value (not actual revenue) |
|
||||
| Count | One conversion per ad interaction |
|
||||
| Click-through conversion window | 90 days |
|
||||
| Engaged-view / view-through windows | 3 days / 1 day |
|
||||
| Attribution | Data-driven |
|
||||
| Enhanced conversions | **Not configured; do not enable** |
|
||||
| Google tag setup | Not installed/verified for this new account |
|
||||
| Conversion type ID (Google Ads UI reference only) | `7830657062` |
|
||||
|
||||
**Identifiers copied from the Google Ads “See event snippet” dialog:**
|
||||
|
||||
- **Google Ads destination / tag ID:** `AW-18494479353`
|
||||
- **Conversion label:** `MzxbCKaw-ZUdEPm37fJE`
|
||||
- **`send_to` value:** `AW-18494479353/MzxbCKaw-ZUdEPm37fJE`
|
||||
|
||||
The event snippet displayed in Google Ads is:
|
||||
|
||||
```html
|
||||
<!-- REFERENCE ONLY. DO NOT DEPLOY WITHOUT PRIVACY APPROVAL. -->
|
||||
<script>
|
||||
gtag('event', 'conversion', {
|
||||
'send_to': 'AW-18494479353/MzxbCKaw-ZUdEPm37fJE'
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
The `AW-` destination ID and conversion label are **not secrets**. Their
|
||||
publication in source documentation does not imply permission to transmit data
|
||||
to Google.
|
||||
|
||||
## Intended conversion semantics
|
||||
|
||||
One conversion represents **one consultation/ABA-therapy inquiry whose form
|
||||
submission is accepted successfully by the approved API**, not a page visit,
|
||||
form start, validation attempt, button click, or failed request.
|
||||
|
||||
The Google Ads dialog offered `Page load` and `Click` snippet options. The
|
||||
`Page load` option was used to **retrieve the event syntax**, not as a mandate
|
||||
to fire on arbitrary page loads. For the Astro/API flow, **prefer triggering
|
||||
explicitly after the API returns a verified success response**, provided the
|
||||
privacy review has approved the entire data flow.
|
||||
|
||||
Avoid a generic `/thank-you` page-load conversion: direct visits, refreshes,
|
||||
or failed/subsequently redirected submissions can create false conversions
|
||||
unless access and deduplication are robustly controlled. If confirmation-page
|
||||
measurement is selected later, document and test how successful submissions
|
||||
are authenticated and repeated visits are prevented from counting again.
|
||||
|
||||
## Integration requirements — gated, not yet authorized
|
||||
|
||||
1. **Privacy/HIPAA and Google Ads policy approval comes first.** Review with
|
||||
AIA's responsible privacy/compliance team whether any Google tag may load
|
||||
on the relevant pages, including the confirmation page. A health-service URL
|
||||
and request metadata can disclose sensitive context even when no form fields
|
||||
are sent. Review URL/path/query string, referrer, IP/device information,
|
||||
cookies, network requests, automatic collection, consent, and applicable
|
||||
Google terms/policies. **No tag loading at all** until that review is
|
||||
completed and explicitly approved; a nominally sanitized `gtag` event is
|
||||
not itself evidence of HIPAA compliance.
|
||||
2. **Keep enhanced conversions and customer-data features off.** Do not send
|
||||
names, emails, phone numbers, diagnoses, dates of birth, form contents,
|
||||
hashed identifiers, `user_data`, or any patient-related values to Google.
|
||||
Do not import sensitive customer lists or enable remarketing/health-audience
|
||||
personalization. Don't append PII/PHI to redirect URLs, analytics events,
|
||||
or advertising parameters.
|
||||
3. **Do not add the base Google tag globally** to `src/layouts` or shared
|
||||
head scripts as part of the ordinary site migration. If approved, provide
|
||||
the minimum audited, route-specific implementation with explicit policy
|
||||
controls. The Google Ads event requires a correctly initialized Google tag
|
||||
(or a separately approved GTM implementation); the event snippet alone
|
||||
cannot measure a conversion.
|
||||
4. **Fire only after confirmed API success.** Use the real form endpoint's
|
||||
documented response contract, not a presumed HTTP 200 or a click handler.
|
||||
Fail closed on network error, invalid/partial responses, validation failure,
|
||||
or spam rejection. Guard against duplicate calls from double-clicks,
|
||||
retries, navigation, and refreshes.
|
||||
5. **Keep the event minimal.** Once explicitly approved and initialized, the
|
||||
only required conversion-event field in the recorded snippet is `send_to`.
|
||||
Do not add `value`, `currency`, `transaction_id`, URL parameters, or
|
||||
custom data without separate measurement/privacy review.
|
||||
6. **Test safely.** First unit/integration-test form-success logic using a
|
||||
mocked `gtag` and synthetic submissions. Test zero events on errors and
|
||||
exactly one on verified success; inspect final URLs and outgoing requests.
|
||||
Any real Google-network testing is itself tag deployment and requires the
|
||||
same privacy approval. Verify the event in Google Ads/Tag diagnostics after
|
||||
approval and deployment.
|
||||
7. **Release gate.** Do not enable the paused campaign until the landing pages
|
||||
are production-ready, successful forms are verified end to end, conversion
|
||||
measurement is tested and approved, the healthcare/call-asset terms issue is
|
||||
resolved, and the advertising-policy review is complete.
|
||||
|
||||
### Illustrative invocation — not production-ready code
|
||||
|
||||
```ts
|
||||
// Documentation-only. Run ONLY inside a privacy-approved implementation,
|
||||
// after the approved API's actual success condition has been verified and
|
||||
// the approved Google tag is initialized. Add submission-level deduplication.
|
||||
gtag('event', 'conversion', {
|
||||
send_to: 'AW-18494479353/MzxbCKaw-ZUdEPm37fJE',
|
||||
});
|
||||
```
|
||||
|
||||
Do **not** paste that example into a generic `submit` event handler or a
|
||||
shared page layout: doing so before the asynchronous API response succeeds
|
||||
would count attempted or failed inquiries.
|
||||
|
||||
## Related campaign and implementation notes
|
||||
|
||||
- The Search campaign in Google Ads account `515-940-4739` is intended to
|
||||
remain **paused** during the Astro/Contabo migration and privacy audit.
|
||||
- The other account-default Primary goal is `Phone call lead`, presently an
|
||||
`AI-qualified call leads` action with a 60-second qualifying duration and
|
||||
`Count = One`. Its Call and Messaging Ads Terms/HIPAA-exclusion question
|
||||
is a separate launch blocker.
|
||||
- The standalone advertising landing pages and associated form API work may
|
||||
have their own repository or implementation handoff. Reconcile this document
|
||||
with that source before making changes; do not assume the migration repo's
|
||||
static forms already implement those endpoints.
|
||||
- For privacy, keep identifiers limited to the public Ads destination ID and
|
||||
conversion label; **no API credentials, patient examples, or submitted lead
|
||||
data belong in this documentation**.
|
||||
|
||||
## Implementation checklist
|
||||
|
||||
- [x] Create the Google Ads manual Website conversion action and record IDs.
|
||||
- [x] Configure Primary, One, $1, data-driven attribution; enhanced conversions off.
|
||||
- [ ] Approve the exact third-party tag/data-flow design through AIA privacy review.
|
||||
- [ ] Confirm form API success contract and documented submission deduplication.
|
||||
- [ ] Implement a strictly gated, audited event only on verified form success.
|
||||
- [ ] Verify outgoing network payloads and URLs contain no sensitive information.
|
||||
- [ ] Complete approved end-to-end tracking tests and inspect Google Ads diagnostics.
|
||||
- [ ] Confirm Google call-assets terms/HIPAA exclusion and other launch gates.
|
||||
- [ ] Unpause campaign only after written go-live approval.
|
||||
Reference in new issue
Block a user