{"schemaVersion":"2026-07-10.paid-growth-readiness-proof.v4","status":"paid_growth_measurement_protocol_hold","technicalGrade":"hold_missing_ga4_measurement_protocol_secret","checkedAt":"2026-07-11T11:54:51.637Z","sourceCheckedAt":"2026-07-07","site":"https://fattourh.com","googleAdsSpendGate":{"paidSpendAutomationAllowed":false,"status":"not_spend_ready_missing_ga4_measurement_protocol_secret","reason":"Codex may prove technical readiness, but paid media spend is a money and brand decision.","googleConversionTagConfigured":true,"ga4MeasurementProtocolSecretConfigured":false,"ga4PaidSessionAttributionVerified":false,"googleAdsAccountConversionActionsVerified":false,"firstPartyDedupeIndexVerified":true,"attentionChecks":[{"id":"google_ads_conversion_tag_missing","status":"pass","evidence":{"googleConversionTagConfigured":true,"requiredExistingEnv":"NEXT_PUBLIC_GA4_MEASUREMENT_ID or GA4_MEASUREMENT_ID","runtimeConfigEndpoint":"/api/public/analytics-config","requirement":"A Google tag or GA4 conversion-import path must be live before paid Google Ads traffic starts.","accountSideRequired":"Google Ads conversion actions and GA4 import/linking must still be verified inside the Google Ads dashboard.","evidenceBoundary":"This proof never exposes measurement IDs and never claims Google Ads dashboard verification."}},{"id":"ga4_measurement_protocol_secret_configured","status":"attention","evidence":{"configured":false,"requiredExistingEnv":"GA4_API_SECRET","requirement":"Server-authoritative signup_pending_confirmation and purchase conversions require GA4 Measurement Protocol before paid Google Ads traffic starts.","evidenceBoundary":"This proof reports only whether the server Measurement Protocol secret is configured; it never exposes the secret value."}},{"id":"ga4_paid_session_attribution_verified","status":"attention","evidence":{"verified":false,"maxVerificationAgeDays":7,"verifiedAtPresent":false,"verifiedAtIsoValid":false,"verifiedAtFresh":false,"verifiedAtAgeDays":null,"proofSourcePresent":false,"proofSourceValueSafe":false,"requiredExistingEnv":["GA4_ATTRIBUTION_VERIFIED_AT","GA4_ATTRIBUTION_PROOF_SOURCE"],"requiredObservation":"A consented production test session shows the same source, medium, and campaign on signup_pending_confirmation and purchase in GA4, with the imported actions observable in Google Ads.","evidenceBoundary":"This proof exposes booleans and age only; it never exposes GA client IDs, session IDs, measurement IDs, account IDs, conversion IDs, click IDs, or secret values.","requirement":"A fresh production round-trip must prove signup and purchase inherit the consented paid session source, medium, and campaign before Google Ads spend."}},{"id":"google_ads_account_conversion_actions_verified","status":"attention","evidence":{"verified":false,"maxVerificationAgeDays":7,"verifiedAtPresent":false,"verifiedAtIsoValid":false,"verifiedAtFresh":false,"verifiedAtAgeDays":null,"proofSourcePresent":false,"proofSourceValueSafe":false,"requiredExistingEnv":["GOOGLE_ADS_CONVERSION_ACTIONS_VERIFIED_AT","GOOGLE_ADS_PRIMARY_CONVERSION_ACTIONS","GOOGLE_ADS_CONVERSION_PROOF_SOURCE"],"requiredPrimaryConversionEvents":["signup_pending_confirmation","purchase"],"primaryActionCount":0,"missingRequiredPrimaryConversionEvents":["signup_pending_confirmation","purchase"],"evidenceBoundary":"This proof reports only value-safe booleans/counts; it never exposes Google Ads account IDs, conversion action IDs, customer IDs, or secret values.","requirement":"Google Ads primary conversion actions must be configured and verified account-side before paid Google Ads traffic starts.","accountSideRequired":"Verify signup and purchase conversion actions, GA4 import/linking, attribution settings, and primary/secondary action status in the Google Ads dashboard."}},{"id":"first_party_funnel_dedupe_index_verified","status":"pass","evidence":{"verified":true,"maxVerificationAgeDays":7,"verifiedAtPresent":true,"verifiedAtIsoValid":true,"verifiedAtFresh":true,"verifiedAtAgeDays":0,"proofSourcePresent":true,"proofSourceValueSafe":true,"requiredExistingEnv":["FUNNEL_DEDUPE_INDEX_VERIFIED_AT","FUNNEL_DEDUPE_PROOF_SOURCE"],"requiredIndex":"feedback_fattourh_funnel_dedupe_uidx","requiredObservation":"Production pg_indexes contains the partial unique feedback_fattourh_funnel_dedupe_uidx on the sanitized SHA-256 funnel dedupe key.","evidenceBoundary":"This proof exposes booleans and age only; it never exposes database URLs, project references, row data, customer IDs, payment IDs, or secret values.","requirement":"The production database must enforce the first-party funnel SHA-256 dedupe key before paid traffic can create purchase conversions."}}],"beforeAnySpend":["Install and verify the Google tag or GA4 conversion-import path on production.","Configure GA4_API_SECRET so server-authoritative signup_pending_confirmation and purchase conversions can reach GA4 Measurement Protocol.","Run a consented production test session and record fresh value-safe GA4_ATTRIBUTION_VERIFIED_AT and GA4_ATTRIBUTION_PROOF_SOURCE evidence that source, medium, and campaign survive into signup and purchase.","Verify Google Ads primary conversion actions and GA4 import/linking account-side with a fresh value-safe proof envelope.","Record GOOGLE_ADS_CONVERSION_PROOF_SOURCE as a value-safe account-side verification reference without Google Ads account IDs, customer IDs, conversion action IDs, or secret values.","Apply and verify feedback_fattourh_funnel_dedupe_uidx in production, then record fresh value-safe FUNNEL_DEDUPE_INDEX_VERIFIED_AT and FUNNEL_DEDUPE_PROOF_SOURCE evidence.","Confirm budget and campaign launch decision with Mohammed.","Paste final ad copy through the policy/claim checklist.","Verify Google Ads dashboard conversion actions after account-side setup.","Re-run this proof and scripts/monitor-paid-growth-readiness.mjs against production."]},"googlePolicyAlignment":{"officialSources":[{"id":"google_ads_policy_center","url":"https://support.google.com/google-ads/answer/6008942?hl=en","appliedTo":["misrepresentation","destination_requirements","data_collection_and_use","legal_requirements"]},{"id":"google_ads_quality_score","url":"https://support.google.com/google-ads/answer/6167118?hl=en","appliedTo":["expected_ctr","ad_relevance","landing_page_experience"]},{"id":"google_ads_landing_page_match","url":"https://support.google.com/google-ads/answer/6238826?hl=en","appliedTo":["message_match","landing_page_usefulness"]},{"id":"google_ads_web_conversions","url":"https://support.google.com/google-ads/answer/16560108?hl=en","appliedTo":["conversion_measurement_prerequisites"]},{"id":"google_consent_mode","url":"https://support.google.com/google-ads/answer/10000067?hl=en","appliedTo":["cookie_consent_signal_posture"]}],"qualityScoreBoundary":"Google Ads Quality Score is account-side and auction-side. This proof grades Fattourh technical readiness only."},"marketAndPaymentSources":[{"id":"zatca_wave_24","url":"https://zatca.gov.sa/en/Pages/news-1426.aspx","appliedTo":["Wave 24 threshold","June 30 2026 integration deadline","Phase 2 integration facts"]},{"id":"moyasar_webhook_events","url":"https://docs.moyasar.com/api/other/webhooks/available-webhooks","appliedTo":["payment_paid","payment_failed","payment_refunded event model"]},{"id":"moyasar_webhook_attempts","url":"https://docs.moyasar.com/api/other/webhooks/attempts/list-attempts","appliedTo":["retry and attempt monitoring posture"]}],"routeInventory":["https://fattourh.com/pricing","https://fattourh.com/signup?plan=growth","https://fattourh.com/signup?plan=pro","https://fattourh.com/e-invoice-pricing-saudi-arabia","https://fattourh.com/privacy","https://fattourh.com/terms","https://fattourh.com/refund","https://fattourh.com/contact"],"conversionMeasurement":{"firstPartyEndpoint":"https://fattourh.com/api/funnel-events","serverMeasurementProtocol":{"helper":"trackServerConversion","authoritativeEvents":["signup_pending_confirmation","purchase"],"clientIdSource":"consented browser GA4 client_id captured through gtag get and sanitized server-side","sessionIdSource":"consented browser GA4 session_id captured through gtag get and sent as a numeric event parameter","syntheticClientIdsRejected":true,"consentRequired":true,"requiredExistingEnv":"GA4_API_SECRET","apiSecretConfigured":false,"timeoutMs":1500},"publicAllowedEvents":["funnel_page_view","marketing_cta_click","signup_start","signup_submit_attempt","signup_validation_error","invoice_created","onboarding_complete"],"serverAuthoritativeEvents":["signup_success","signup_pending_confirmation","trial_started","checkout_attempt","checkout_start","checkout_blocked","checkout_error","purchase"],"dashboardTruthOwner":"/api/admin/stats","googleAdsDashboardGate":"Google Ads conversion IDs and account-side action mapping must be verified in the Ads dashboard before spending.","accountProofGate":{"requiredExistingEnv":["GOOGLE_ADS_CONVERSION_ACTIONS_VERIFIED_AT","GOOGLE_ADS_PRIMARY_CONVERSION_ACTIONS","GOOGLE_ADS_CONVERSION_PROOF_SOURCE"],"requiredPrimaryConversionEvents":["signup_pending_confirmation","purchase"],"maxVerificationAgeDays":7,"proofSourceValueShape":"GOOGLE_ADS_CONVERSION_PROOF_SOURCE must be a value-safe reference only; no Google Ads account IDs, customer IDs, conversion action IDs, or secret values.","evidenceBoundary":"This proof reports only value-safe booleans/counts; it never exposes Google Ads account IDs, conversion action IDs, customer IDs, or secret values."},"paidSessionAttributionProofGate":{"requiredExistingEnv":["GA4_ATTRIBUTION_VERIFIED_AT","GA4_ATTRIBUTION_PROOF_SOURCE"],"maxVerificationAgeDays":7,"requiredObservation":"A consented production test session shows the same source, medium, and campaign on signup_pending_confirmation and purchase in GA4, with the imported actions observable in Google Ads.","evidenceBoundary":"This proof exposes booleans and age only; it never exposes GA client IDs, session IDs, measurement IDs, account IDs, conversion IDs, click IDs, or secret values."},"firstPartyDedupeIndexProofGate":{"requiredExistingEnv":["FUNNEL_DEDUPE_INDEX_VERIFIED_AT","FUNNEL_DEDUPE_PROOF_SOURCE"],"maxVerificationAgeDays":7,"requiredIndex":"feedback_fattourh_funnel_dedupe_uidx","requiredObservation":"Production pg_indexes contains the partial unique feedback_fattourh_funnel_dedupe_uidx on the sanitized SHA-256 funnel dedupe key.","evidenceBoundary":"This proof exposes booleans and age only; it never exposes database URLs, project references, row data, customer IDs, payment IDs, or secret values."}},"revenueReadinessSnapshot":{"status":"revenue_readiness_live","paymentReadiness":{"provider":"moyasar","moyasarConfigured":true,"webhookConfigured":true,"liveMode":true,"paymentIntentsReady":true,"subscriptionRenewalReady":true,"billingPersistenceReady":true,"emailDeliveryLedgerReady":true,"operationalSchemaReady":true,"publicStatusEndpoint":"https://fattourh.com/api/payments/status"},"planInventory":{"selfServePlans":[{"id":"free","nameEn":"Free","priceMonthly":0,"invoiceLimit":5,"trialDays":0,"isFree":true},{"id":"starter","nameEn":"Starter","priceMonthly":49,"invoiceLimit":50,"trialDays":0,"isFree":false},{"id":"growth","nameEn":"Growth","priceMonthly":149,"invoiceLimit":-1,"trialDays":14,"isFree":false},{"id":"pro","nameEn":"Pro","priceMonthly":399,"invoiceLimit":-1,"trialDays":14,"isFree":false}],"paidPlanIds":["starter","growth","pro"],"monthlyOnlySelfServe":true,"enterpriseRoute":"https://fattourh.com/contact?plan=enterprise"},"revenueProofUrl":"https://fattourh.com/revenue-readiness-proof.json"},"externalAuditReadiness":{"posture":"hold_until_measurement_and_google_ads_account_proof_pass","verdict":"hold","mandate":"An independent auditor must assume Fattourh is not ready for paid Google Ads spend until current public proof, local command output, and Google Ads dashboard evidence all pass.","requiredPublicProofUrls":["https://fattourh.com/paid-growth-readiness-proof.json","https://fattourh.com/revenue-readiness-proof.json","https://fattourh.com/api/payments/status","https://fattourh.com/pricing","https://fattourh.com/pricing#plan-fit","https://fattourh.com/e-invoice-pricing-saudi-arabia","https://fattourh.com/privacy","https://fattourh.com/terms","https://fattourh.com/refund"],"requiredLocalCommands":["npm run launch:paid-growth-preflight","npm run monitor:paid-growth-readiness","npm run test:launch-secrets","npm run test:revenue-copy","npm run type-check","npm run lint"],"requiredAccountSideEvidence":["Google tag or GA4 conversion-import path is live on production.","GA4_API_SECRET is configured for server-authoritative Measurement Protocol conversions.","A consented production round-trip proves source, medium, and campaign survive into signup_pending_confirmation and purchase.","GA4_ATTRIBUTION_VERIFIED_AT is ISO-valid and no older than seven days.","GA4_ATTRIBUTION_PROOF_SOURCE is present as a value-safe reference only.","Google Ads dashboard shows signup_pending_confirmation and purchase as primary conversion actions.","GA4 import/linking, attribution settings, and primary/secondary action status are verified account-side.","GOOGLE_ADS_CONVERSION_ACTIONS_VERIFIED_AT is ISO-valid and no older than seven days.","GOOGLE_ADS_CONVERSION_PROOF_SOURCE is present as a value-safe reference only.","Production pg_indexes contains feedback_fattourh_funnel_dedupe_uidx with the expected partial unique SHA-256 expression.","FUNNEL_DEDUPE_INDEX_VERIFIED_AT is ISO-valid and no older than seven days.","FUNNEL_DEDUPE_PROOF_SOURCE is present as a value-safe reference only."],"requiredProofSource":{"env":"GOOGLE_ADS_CONVERSION_PROOF_SOURCE","valueShape":"value-safe reference to the account-side verification packet, not a Google Ads account identifier","forbiddenContent":["Google Ads account ID","customer ID","conversion action ID","secret value"]},"requiredAttributionProofSource":{"env":"GA4_ATTRIBUTION_PROOF_SOURCE","valueShape":"value-safe reference to a production GA4 DebugView or reporting packet proving consented paid-session attribution","forbiddenContent":["GA client ID","GA session ID","measurement ID","Google Ads account ID","conversion action ID","click ID","secret value"]},"requiredFunnelDedupeProofSource":{"env":"FUNNEL_DEDUPE_PROOF_SOURCE","valueShape":"value-safe reference to a production pg_indexes verification packet, not a database URL or Supabase project reference","forbiddenContent":["database URL","Supabase project reference","customer ID","payment ID","secret value"]},"requiredPrimaryConversionActions":["signup_pending_confirmation","purchase"],"auditorMustFailIf":["paid-growth proof status is not paid_growth_technical_a_plus_plus_plus after technical setup","technicalGrade is not A+++ after technical setup","production Google tag or GA4 conversion-import path is missing","GA4_API_SECRET is missing so server-authoritative signup_pending_confirmation or purchase cannot reach GA4 Measurement Protocol","fresh value-safe GA4 paid-session attribution proof is missing, stale, unsafe, or does not show source/medium/campaign continuity","Google Ads account-side signup_pending_confirmation or purchase conversion action proof is missing, stale, or unsafe","production feedback_fattourh_funnel_dedupe_uidx proof is missing, stale, unsafe, or based only on the migration file","final preflight or paid-growth monitor exits non-zero after setup","public proof, local command output, deployed commit, or Google Ads dashboard evidence disagree","any proof exposes measurement IDs, account IDs, customer IDs, conversion action IDs, PII, or secrets"],"spendDecisionBoundary":"External audit can grade technical readiness only; budget, campaign launch, final ad copy, legal approval, and brand positioning remain owner-gated."},"checks":[{"id":"destination_clear_functional_useful","status":"pass","evidence":{"googleRequirement":"destination_requirements_unique_value_functional_easy_to_navigate","routes":["/pricing","/signup?plan=growth","/signup?plan=pro","/e-invoice-pricing-saudi-arabia","/privacy","/terms","/refund","/contact"]}},{"id":"ad_to_landing_page_message_match","status":"pass","evidence":{"buyerIntent":"Saudi e-invoicing cost, monthly subscription, AI invoice drafting, ZATCA workflow support","landingPages":["/pricing","/e-invoice-pricing-saudi-arabia","/signup?plan=growth"]}},{"id":"guided_plan_fit_conversion_path","status":"pass","evidence":{"route":"/pricing#plan-fit","mechanism":"buyer answers invoice volume, users, VAT, recurring, branding, reporting, support, and enterprise-control needs before signup","ctaOwners":{"selfServe":"existing pricing handleSubscribe flow routes anonymous users to /signup?plan=... and authenticated users to hosted checkout","enterprise":"/contact?source=plan_fit&plan=enterprise"},"policyPosture":"shows price before CTA, preserves paid-spend owner gate, and avoids legal/compliance/revenue/Quality Score guarantees"}},{"id":"current_pricing_inventory","status":"pass","evidence":{"paidPlanIds":["starter","growth","pro"],"monthlyPricesSar":[{"id":"starter","priceMonthly":49},{"id":"growth","priceMonthly":149},{"id":"pro","priceMonthly":399}]}},{"id":"growth_pro_trial_offer_current","status":"pass","evidence":{"growthTrialDays":14,"proTrialDays":14}},{"id":"payment_provider_live_readiness","status":"pass","evidence":{"provider":"moyasar","moyasarConfigured":true,"webhookConfigured":true,"liveMode":true,"billingPersistenceReady":true,"emailDeliveryLedgerReady":true,"operationalSchemaReady":true,"publicStatusEndpoint":"https://fattourh.com/api/payments/status"}},{"id":"billing_details_current_on_legal_pages","status":"pass","evidence":{"routes":["/terms","/refund","/privacy"],"requirement":"billing_method_refund_channel_privacy_disclosures_match_live_hosted_checkout"}},{"id":"conversion_measurement_ready_without_customer_pii","status":"pass","evidence":{"browserEndpoint":"https://fattourh.com/api/funnel-events","serverMeasurementProtocolAuthority":{"helper":"trackServerConversion","authoritativeEvents":["signup_pending_confirmation","purchase"],"clientIdSource":"consented browser GA4 client_id captured through gtag get and sanitized server-side","sessionIdSource":"consented browser GA4 session_id captured through gtag get and sent as a numeric event parameter","syntheticClientIdsRejected":true,"consentRequired":true,"requiredExistingEnv":"GA4_API_SECRET","apiSecretConfigured":false,"runtimeGate":"GA4 Measurement Protocol sends only when GA4_MEASUREMENT_ID/NEXT_PUBLIC_GA4_MEASUREMENT_ID and GA4_API_SECRET are configured","purchaseDeliveryState":"private payment_intents.checkout_consent.analyticsDelivery.purchase","purchaseDeliveryStates":["pending","first_party_sent","sent","suppressed_duplicate"],"firstPartyDedupeOwner":"partial unique index feedback_fattourh_funnel_dedupe_uidx on the sanitized SHA-256 dedupe key","deliveryRetryPosture":"entitlement is durable before measurement; incomplete first-party or GA4 delivery returns 500, database-confirmed first-party duplicates are idempotent success, and webhook replay retries only the pending state with the stable transaction_id"},"publicEndpointRejectsServerAuthoritativeEvents":["signup_success","signup_pending_confirmation","trial_started","checkout_attempt","checkout_start","checkout_blocked","checkout_error","purchase"],"sanitizedStorage":"feedback table stores event, category, path without query strings, and allowlisted non-contact props only","paymentAttributionStorage":"private payment_intents.checkout_consent analytics attribution and delivery state until the authoritative Moyasar webhook completes purchase measurement","guidedSelectorEvents":["plan_fit_signup","plan_fit_checkout","plan_fit_contact"]}},{"id":"email_ownership_required_before_login_or_payment","status":"pass","evidence":{"signupOwner":"/api/auth/signup","callbackOwner":"/auth/callback","posture":"signup creates a Supabase confirmation link and does not auto-confirm accounts before inbox proof"}},{"id":"checkout_purchase_consent_required","status":"pass","evidence":{"checkoutOwner":"/api/payments/checkout","consentFields":["termsAccepted","privacyAccepted","refundAccepted","billingLifecycleAccepted","termsVersion","privacyVersion","refundVersion","displayedPriceSar","planHash"],"posture":"hosted checkout is blocked before Moyasar when legal versions, displayed price, or plan hash are missing/stale"}},{"id":"server_authoritative_purchase_webhook","status":"pass","evidence":{"checkoutStartOwner":"/api/payments/checkout","purchaseOwner":"/api/payments/moyasar/webhook","refundOwner":"/api/payments/moyasar/webhook","firstPartyDedupeIndex":"feedback_fattourh_funnel_dedupe_uidx","retryPosture":"entitlement and purchase measurement use persisted idempotent states plus a unique first-party dedupe index; incomplete writes return 500 so Moyasar can retry only pending work"}},{"id":"webhook_unresolvable_payment_fail_closed","status":"pass","evidence":{"webhookOwner":"/api/payments/moyasar/webhook","blockedPaidEvents":["missing user_id","missing plan_id","unknown plan_id","amount mismatch","currency mismatch"],"posture":"paid events that cannot grant the purchased entitlement return non-2xx and write no subscription"}},{"id":"cookie_and_adsense_consent_gate_present","status":"pass","evidence":{"publicConsentKey":"fattourh-cookie-consent","adsenseLoadRule":"public ads script loads only after accepted optional cookies","ga4ConsentMode":"default denied until accepted optional cookies","conversionRoutePosture":"pricing, signup, login, contact, recovery, and auth routes render the consent banner fixed instead of below the document"}},{"id":"ai_subprocessor_disclosure_current","status":"pass","evidence":{"routes":["/privacy","/dpa"],"processorsDisclosed":["AI processors for invoice drafting/support/feature triage","Notion/workflow tools when enabled"],"dataMinimization":"support chat and feature-request AI/Notion payloads are redacted before external processing where practical"}},{"id":"zatca_post_deadline_copy_boundaries","status":"pass","evidence":{"source":"https://zatca.gov.sa/en/Pages/news-1426.aspx","wave24Deadline":"2026-06-30","boundary":"post-deadline guidance only; no pre-deadline urgency or guaranteed compliance claim"}},{"id":"no_forbidden_policy_claims","status":"pass","evidence":{"forbiddenClaims":["government affiliation","ZATCA certification or official partner status","guaranteed approval, revenue, CAC, ROAS, or Google Ads Quality Score","automatic ZATCA submission or WhatsApp sending without review"]}},{"id":"owner_money_legal_brand_gate","status":"pass","evidence":{"paidSpendAutomationAllowed":false,"ownerDecisionsStillRequired":["budget","campaign launch approval","final ad copy","legal review if claims change"],"technicalMeaning":"Code-owned funnel readiness is separate from measurement readiness; A+++ is not exposed while the live Google tag or GA4 conversion-import path is missing."}}],"publicProofUrls":["https://fattourh.com/paid-growth-readiness-proof.json","https://fattourh.com/revenue-readiness-proof.json","https://fattourh.com/api/payments/status","https://fattourh.com/pricing","https://fattourh.com/pricing#plan-fit","https://fattourh.com/e-invoice-pricing-saudi-arabia","https://fattourh.com/privacy","https://fattourh.com/terms","https://fattourh.com/refund"],"boundaries":["No customer, payment, session, or secret values are exposed.","A+++ is exposed only after code-owned paid-growth checks pass, a live Google tag or GA4 import path is configured, a consented paid-session round-trip has fresh value-safe proof, and account-side Google Ads conversion actions have fresh value-safe proof; it is not actual Google Ads Quality Score, ROAS, CAC, conversion rate, or revenue.","A missing production Google tag changes the top-level proof to paid_growth_measurement_hold and keeps Google Ads spend not-ready.","A missing GA4_API_SECRET changes the top-level proof to paid_growth_measurement_protocol_hold and keeps Google Ads spend not-ready.","Missing or stale GA4 paid-session attribution proof changes the top-level proof to paid_growth_attribution_validation_hold and keeps Google Ads spend not-ready.","Missing or stale Google Ads account-side conversion action proof changes the top-level proof to paid_growth_account_conversion_hold and keeps Google Ads spend not-ready.","Paid media spend, final ad copy, legal approval, and brand positioning remain owner-gated decisions.","Fattourh is independent from ZATCA and does not claim government approval, certification, or official partnership."],"doNotClaim":["Google Ads account Quality Score without Google Ads dashboard proof","conversion rate, CAC, ROAS, or revenue without analytics/payment dashboard proof","ZATCA approval, certification, official partnership, or guaranteed compliance","annual self-serve billing before the annual checkout/admin path is proven","automatic ZATCA submission, tax approval, or WhatsApp sending without user review"]}