Google Ads audit · boldsign
2026-11-12 15:47 · success · score 47· by sarathkumarvenkatesan · reviewed by sarathkumarvenkatesan on 2026-11-12· backend claude-code 2.1.322 (claude-opus-5-5)
Checklist: demand-gen/paid/ads-account-audit.md
Summary
Headline
The BoldSign Google Ads account (boldsign.com, 1266231717, USD) spent $177,119.53 from 2026-10-15 to 2026-11-11. That is 4.15% more than the prior 28 days ($170,056.32), and it bought 2,589.75 conversions, up from 1,645.73. All of those conversions are raw sign-ups (complete_new_signup). The CRM import of first_payment is still failing: only 2 of 100,003 uploaded events were accepted, with the error CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS. So no campaign can bid on paying customers.
Targeting hygiene is good: geo is set to Presence, Search Partners and Display are off, brand negatives are in place (including on US - HubSpot integration), and no ads are disapproved. The gaps are:
- Ad copy with hard-coded prices and claims nobody has sourced.
- Missing job and course negatives.
- About $37.6k of non-brand spend landing on the home page.
Score
47 / 100: 7 of the 15 checked items passed. A warn counts as not passed, and 1 item was not checked.
- Pass: 7 | Warn: 4 | Fail: 4 | n/a: 0 | Not checked: 1
Top 3 actions
- Fix the offline conversion import (B4). Enable enhanced conversions for leads, or switch the
first_paymentupload to click-ID only. Then re-run the upload and confirm the success rate. Owner: sales ops and the paid search lead. - Bid on paying customers, not sign-ups (B3, B5). Once B4 works, make CONVERTED_LEAD (
first_payment) biddable and primary, and keep sign-ups secondary. Then set separate targets for API and web-app campaigns. - Clean up ad claims (C4). Remove "$15/month", "at $15", "Save 60%", "Rated 4.7/5 on G2", "Top-rated", "1,500+ Built-In Features", "50,000+ businesses" and "120+ countries" unless product marketing can source them. Link to the pricing page instead of quoting prices.
Findings
Ads account audit: boldsign, boldsign.com (1266231717), 2026-11-12
Period: 2026-10-15 to 2026-11-11 (28 days), compared with 2026-09-17 to 2026-10-14 | Run by: Claude
| ID | Item | Result | Evidence | Est. monthly waste | Proposed fix |
|---|---|---|---|---|---|
| A1 | Broad match without negatives | Warn | Broad match is used only in Brand and in AUS - Non-API. AUS broad keywords: "alternatives docusign" ($3,338.07, 14 conv), "cheap e signature software" ($1,245.65, 5.5 conv), "document signing software" ($735.71, 3.5 conv) and "electronic contract signing" ($109.80, 0 conv). AUS matched "codigo promocional docusign", "firmar documentos", "signature avancee", "autosignature" and a Chinese query. It had 47.75 conversions, which is thin data for broad match. | unknown | Add promo-code and non-English negatives to AUS. Consider phrase match for "cheap e signature software". |
| A2 | Search Partners and Display bleed | Pass | All 10 enabled Search campaigns with spend have Search Partners and Display off. | n/a | None. Check paused campaigns before re-enabling them. |
| A3 | No student/free/job-seeker negatives | Fail | Has: free, tutorial, careers, student and students (phrase), job (broad), crack (exact, one list only). Missing everywhere: course, courses, jobs, salary, internship and torrent. "free" is negated even though the ads promote a free trial. | unknown | Add the missing terms as phrase negatives. Review the "free" negative. |
| A4 | Geo "presence or interest" | Pass | All 14 enabled campaigns with spend use Presence. | n/a | None. |
| A5 | Search-term waste | Warn | Top 50 terms by spend are all brand, category or competitor terms. Competitor terms are leaking into non-competitor campaigns: "signwell pricing" ($1,385.96), "verdocs" ($294.14, 0 conv) and "docusign api pricing" ($342.99, 0 conv) in US - API. "docusign pricing" in AUS ($480.27, 0 conv) and UK ($446.78, 1 conv). | unknown | Reroute these terms to competitor ad groups or add them as negatives. |
| A6 | Audience Network (Microsoft Ads) | Not checked | No Microsoft Ads source was connected. | unknown | Check manually in Microsoft Ads. |
| B1 | Auto-applied recommendations | Pass | No auto-apply subscriptions, and no changes by GOOGLE_ADS_RECOMMENDATIONS from 2026-10-15 to 2026-11-12. | n/a | None for Google Ads. |
| B2 | PMax cannibalizing brand | Pass | The "boldsign-brand" negative list is on US and CA PMax. There is no brand-list exclusion. Brand impression share went from 0.2995 to 0.6198, and brand clicks from 4,323 to 10,301. | n/a | Optional: add a PMax brand exclusion. |
| B3 | Wrong conversion goals | Fail | Only the SIGNUP goal is biddable, and complete_new_signup is the only action counted in Conversions. first_payment is primary, but its goal isn't biddable. 55% of conversions (1,432.5 of 2,589.75) came from Brand. |
unknown | Make first_payment biddable and primary after B4 is fixed. |
| B4 | Offline conversion import | Fail | Status NEEDS_ATTENTION: 100,003 events, 2 successful, last upload 2026-11-10 16:37. 100% of events hit CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS. |
unknown | Enable enhanced conversions for leads, or switch to a click-ID-only upload. Re-run and verify. |
| B5 | CPA vs pricing model | Warn | No campaign has a target, and all of them optimize to sign-ups. Cost per conversion: US - API $536.78, HIPAA $360.07, UK $298.97, AUS $262.61, Alternatives $228.13, Non-API $156.94, US PMax $72.55, Brand $0.95. | unknown | Set separate API and web-app targets once qualified conversions import. |
| B6 | Brand exclusion | Pass | "boldsign-brand" is on every enabled non-brand Search and PMax campaign except US - HubSpot integration. That campaign has its own brand negatives (boldsign, bold sign, signbold and others). | n/a | Optional: attach the shared list for consistency. |
| C1 | Competitor trademark issues | Pass | 4 top-spend RSAs reviewed. The competitor ad says "alternative" without naming the competitor. No ads are disapproved or limited. | n/a | Review all competitor RSAs next quarter. |
| C2 | Landing page mismatch | Warn | Competitor, API, pricing, HIPAA, real-estate and contract ad groups map to the right pages. The non-brand WebApp ad groups in US - Non-API, UK and PaidOpt send category queries to the home page: $37,649.35 of spend. The buyer-fit audit was not run. | unknown | Point the WebApp ad groups to a category page, or run an experiment. |
| C3 | Disapproved or limited ads | Pass | No enabled ad is DISAPPROVED, APPROVED_LIMITED or AREA_OF_INTEREST_ONLY. | n/a | None. |
| C4 | Claims | Fail | Prices in ads: "Just $15/month", "Unlimited E-Signatures at $15" and "from $15/month/user". Unsourced claims: "Save 60%", "Lower Cost", "50,000+ businesses", "120+ countries", "Rated 4.7/5 on G2", "1,500+ Built-In Features" and "Top-rated". Compliance claims (SOC 2, HIPAA, GDPR, AES-256) need a source check. | unknown | Remove the prices. Source or remove the claims, then review every RSA. |
Score
- Pass: 7 | Fail: 4 | n/a: 0 (also Warn: 4, Not checked: 1)
Proposed changes (need human approval before applying)
See "Proposed changes (need approval)" below.
Remember to add these results to the team's shared results log (location TBD).
Not checked
- A6 Audience Network (Microsoft Ads): no Microsoft Ads data source was connected. The Microsoft Ads half of B1 was not checked for the same reason.
- B4, form click-ID capture: the Google Ads API can't show whether GCLID, GBRAID and WBRAID are stored on forms. That needs a CRM or form check.
- C2, website buyer-fit audit: not run. It is a separate skill.
- C1 and C4 are based on the 4 highest-spend RSAs, not every ad.
- B2, PMax search-term insights: not pulled.
- A2 and A4, paused campaigns: network and geo settings were not re-checked this run. Only enabled campaigns with spend were audited.
- Date range: the checklist default is 90 days compared with the prior 90. This run used the 28-day range pbmaintain supplied.
- Waste estimate:
ads.wasted_spend_estis null. Account data alone can't separate wasted spend from competitor-research spend that simply hasn't converted yet.
Proposed changes (need approval)
None of these has been applied. Each one needs approval from the paid search lead in chat.
- Conversion settings and the
first_paymentupload: 2 of 100,003 events accepted → enable enhanced conversions for leads, or change to a click-ID-only upload, then re-run. Reason: B4. - Account conversion goals: only SIGNUP is biddable → make CONVERTED_LEAD (
first_payment) biddable and primary, and keep SIGNUP secondary. Do this after change 1 is confirmed. Reason: B3. - RSA copy (ads 708716116291, 708525348221, 812713481426, 784691674286 and similar): hard-coded "$15" prices and unsourced savings, rating, feature-count, customer-count and country claims → remove them or replace them with sourced copy, and link to the pricing page. Reason: C4.
- "Common phrase negatives" shared list: course, courses, jobs, salary, internship and torrent are missing, and "crack" is only an exact negative on one list → add them all as phrase negatives. Reason: A3.
- "free" phrase negative: the paid search lead decides whether to keep it, given the free trial. Reason: A3.
- WebApp ad groups in US - Non-API, UK and US - Non-API - PaidOpt: final URL is https://boldsign.com/ → point them to a category page such as /best-esignature-software/, or run an experiment. Reason: C2.
- AUS - Non-API: broad keywords match promo-code and non-English queries → add negatives (codigo, promocional, firmar, avancee, autosignature) and consider phrase match for "cheap e signature software". Reason: A1.
- US - API, AUS - Non-API and UK: competitor brand and pricing queries (signwell, verdocs, docusign pricing, docusign api pricing) → add negatives, or move them to competitor ad groups. Reason: A5.
- Bid targets: all campaigns use the same sign-up goal with no targets → set separate CPA or value targets for API and web-app campaigns once change 2 is live. Reason: B5.
Data sources
- Google Ads API through the
google-adsMCP server (run_gaql, read-only), customer 1266231717 "boldsign.com", currency USD, time zone America/New_York. Queried on 2026-11-12. - Resources queried:
customer,campaign,conversion_action,customer_conversion_goal,offline_conversion_upload_client_summary,recommendation_subscription,change_event,shared_set,shared_criterion,campaign_shared_set,campaign_criterion,keyword_view,search_term_viewandad_group_ad. - Raw exports in
raw/:campaigns.csv,account_and_conversions.json,negatives.csv,keywords_broad.csv,search_terms.csv,ads_landing_pages.csvandad_copy_sample.json. Costs are in micros, as the API returns them. Dollar figures here are micros ÷ 1,000,000. Cost per conversion is cost ÷ conversions, rounded to cents. - Checklist:
demand-gen/paid/ads-account-audit.md.
Findings
| ID | Item | Status | Severity | Effort | Recommendation | Checklist |
|---|---|---|---|---|---|---|
| B4 | Offline conversion importneeds approval offline_conversion_upload_client_summary: status NEEDS_ATTENTION, total_event_count 100003, successful_event_count 2, last upload 2026-11-10 16:37:26. Alert: CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS with errorPercentage 1 (100%). The upload ran within 7 days but essentially every event failed. Auto-tagging is enabled; GCLID/GBRAID/WBRAID capture on forms cannot be verified from the Ads API. | fail | critical | M | Accept the enhanced conversions for leads terms in conversion settings, or change the first_payment upload to click-ID only, then re-run and confirm the success rate. Verify click-ID capture in the CRM/forms. | demand-gen/paid/ads-account-audit.md#checklist |
| B3 | Wrong conversion goalsneeds approval Only the SIGNUP~WEBSITE customer conversion goal is biddable. complete_new_signup is the only action included in the Conversions metric. first_payment (UPLOAD_CLICKS, CONVERTED_LEAD) is primary_for_goal but its goal is not biddable and it is not in Conversions. requested_demo and contact are not primary. 1,432.5 of 2,589.75 conversions (55%) came from the Brand campaign. | fail | high | M | Once B4 is fixed, make CONVERTED_LEAD (first_payment) biddable and the primary bidding signal; keep sign-ups secondary or value-weighted. | demand-gen/paid/ads-account-audit.md#checklist |
| C4 | Claimsneeds approval Hard-coded prices: "Just $15/month" (708716116291), "Unlimited E-Signatures at $15" and "from $15/month/user" (708525348221). Unsourced or unverified claims: "Switch to BoldSign & Save 60%", "Similar Features, Lower Cost" (708716116291); "Trusted by 50,000+ businesses" (all 4 ads), "in 120+ countries" (812713481426); "Rated 4.7/5 on G2" and "1,500+ Built-In Features" (708525348221); "Top-rated E-Sign Solution" (784691674286). Compliance claims "SOC 2 and HIPAA Compliant", "AES-256", "GDPR" (812713481426) need a source check. Only 4 RSAs were reviewed. | fail | high | M | Remove prices from ad text and link to the pricing page. Product marketing to source or remove the savings, customer-count, country-count, rating and feature-count claims, and confirm the compliance claims. Then review every RSA. | demand-gen/paid/ads-account-audit.md#checklist |
| A3 | No student/free/job-seeker negativesneeds approval 'Common phrase negatives' (attached to every enabled non-brand Search and PMax campaign) has free, tutorial, careers, student, students (phrase). 'common negative keyword list' has job (broad). 'non-api-common-negative-keyword-list' has free and crack (exact only). No enabled negative list contains course, courses, jobs, salary, internship or torrent. 'free' is negated as phrase even though BoldSign offers a free trial (ad copy promotes a 30-day free trial). | fail | medium | S | Add course, courses, jobs, salary, internship, torrent and crack as phrase negatives to 'Common phrase negatives'. Paid search lead to decide whether the phrase 'free' negative should stay. | demand-gen/paid/ads-account-audit.md#checklist |
| A1 | Broad match without negativesneeds approval Broad match is enabled only in Branded Campaign - BoldSign and AUS - Non-API. AUS broad keywords: "alternatives docusign" ($3,338.07, 14 conv), "cheap e signature software" ($1,245.65, 5.5 conv), "document signing software" ($735.71, 3.5 conv), "electronic contract signing" ($109.80, 0 conv). Both campaigns use Smart Bidding and AUS has 6 negative lists, but AUS still matched "codigo promocional docusign" ($74.14), "firmar documentos" ($43.81), "signature avancee" ($48.71), "autosignature" ($51.33) and a Chinese query ($106.38, 1 conv). AUS had 47.75 conversions in 28 days, thin data for broad match. | warn | medium | S | Add promo-code and non-English negatives to AUS (the shared 'Non-English negatives' list has only 4 terms). Consider phrase match for "cheap e signature software". | demand-gen/paid/ads-account-audit.md#checklist |
| A5 | Search-term wasteneeds approval Top 50 search terms by spend reviewed: all are brand, category or competitor terms; none clearly irrelevant. Competitor queries are landing in non-competitor campaigns: "signwell pricing" ($1,385.96, 2 conv) and "verdocs" ($294.14, 0 conv) and "docusign api pricing" ($342.99, 0 conv) in US - API; "docusign pricing" in AUS ($480.27, 0 conv) and UK ($446.78, 1 conv). "docusign cost" in US - Alternatives: $271.35, 11 clicks, 0 conv. | warn | medium | S | Route competitor brand/pricing queries to competitor ad groups with matching copy, or add them as negatives in US - API. Review the zero-conversion DocuSign pricing/cost terms in AUS and UK. | demand-gen/paid/ads-account-audit.md#checklist |
| B5 | CPA vs pricing modelneeds approval Every enabled campaign uses Maximize Conversions (US - Non-API - PaidOpt uses Maximize Conversion Value) with no target CPA or ROAS returned, all optimizing to the same sign-up action. Cost per conversion (cost / conversions): US - API $536.78, US - HIPAA $360.07, US Demand Gen $306.19, UK $298.97, AUS - Non-API $262.61, US - Alternatives $228.13, US - real-estate $208.24, US - Non-API - PaidOpt $168.80, US - Non-API $156.94, US Demand Gen Video $100.24, CA PMax $74.31, US PMax $72.55, Brand $0.95. | warn | medium | M | After B3/B4, set separate CPA or value targets for API and web-app campaigns that reflect each pricing model. | demand-gen/paid/ads-account-audit.md#checklist |
| C2 | Landing page mismatchneeds approval Competitor, API, API pricing, HIPAA, real-estate, contract-signing and 'best' ad groups map to matching pages. The non-brand 'WebApp' ad groups in US - Non-API, UK and US - Non-API - PaidOpt send category queries (e.g. "e sign documents", "e signature software") to https://boldsign.com/: $37,649.35 of spend in the period (ads 812713481426, 708525348221, 812609303229, 810373361501, 710366544231). The website buyer-fit audit was not run in this run. | warn | medium | M | Point the WebApp ad groups to a category page (for example /best-esignature-software/) or A/B test it via an experiment. Run the website buyer-fit audit on the main landing pages. | demand-gen/paid/ads-account-audit.md#checklist |
| A6 | Audience Network (Microsoft Ads) No Microsoft Ads data source was connected for this run (only the google-ads MCP server). | not-checked | low | S | Check Audience Network settings manually in Microsoft Ads, or connect a Microsoft Ads source for the next run. | demand-gen/paid/ads-account-audit.md#checklist |
| A2 | Search Partners and Display bleed All 10 enabled Search campaigns with spend have target_search_network=False and target_content_network=False. PMax and Demand Gen campaigns show True by design. Paused campaigns were not re-checked in this run. | pass | low | S | None for enabled campaigns. Check network settings on any paused Search campaign before re-enabling it. | demand-gen/paid/ads-account-audit.md#checklist |
| A4 | Geo "presence or interest" All 14 enabled campaigns with spend use positive_geo_target_type = PRESENCE. Paused campaigns were not re-checked in this run. | pass | low | S | None. Confirm Presence on any paused campaign before re-enabling it. | demand-gen/paid/ads-account-audit.md#checklist |
| B1 | Auto-applied recommendations recommendation_subscription returned no rows (no auto-apply subscriptions). change_event with client_type GOOGLE_ADS_RECOMMENDATIONS between 2026-10-15 and 2026-11-12 returned no rows. Microsoft Ads not checked. | pass | low | S | None for Google Ads. Check Microsoft Ads auto-apply manually. | demand-gen/paid/ads-account-audit.md#checklist |
| B2 | PMax cannibalizing brand The 'boldsign-brand' negative keyword list (28 terms) is attached to both US-Performance-Max-Leads and CA-Performance-Max-Leads. No BRAND_LIST campaign criterion (brand exclusion) exists on either PMax campaign. Brand campaign search impression share rose from 0.2995 to 0.6198 and clicks from 4,323 to 10,301 versus the prior 28 days. PMax search-term insights were not pulled. | pass | low | S | Optional: add a PMax brand exclusion list as a second safeguard. | demand-gen/paid/ads-account-audit.md#checklist |
| B6 | Brand exclusion 'boldsign-brand' is attached to every enabled non-brand Search and PMax campaign except US - HubSpot integration, which has its own campaign-level brand negatives (boldsign broad; bold sign, be bold sign, bold sign in, signbold, sign bold phrase; bold sing exact). Demand Gen campaigns have no keyword targeting. | pass | low | S | Optional: attach 'boldsign-brand' to US - HubSpot integration too, so brand negatives are managed in one place. | demand-gen/paid/ads-account-audit.md#checklist |
| C1 | Competitor trademark issues 4 top-spend RSAs reviewed (708716116291, 812713481426, 708525348221, 784691674286). The DocuSign-alternative ad uses 'eSignature Alternative' / 'Similar eSign Software' without naming the competitor. No enabled ad is DISAPPROVED, APPROVED_LIMITED or AREA_OF_INTEREST_ONLY. Comparative savings claims are covered under C4. | pass | low | S | None now. Review all competitor-ad-group RSAs (Adobe, PandaDoc, DocuSign API) next quarter. | demand-gen/paid/ads-account-audit.md#checklist |
| C3 | Disapproved or limited ads Query for enabled ads in enabled ad groups and campaigns with approval_status DISAPPROVED, APPROVED_LIMITED or AREA_OF_INTEREST_ONLY returned no rows. Every enabled ad with spend in the period is APPROVED. | pass | low | S | None. | demand-gen/paid/ads-account-audit.md#checklist |
Metrics
| Metric | Value | Previous | Change | Period | Dimensions |
|---|---|---|---|---|---|
| Ad spend ads.spend | 177,120 | 170,056 | +4.2% | 2026-10-15 – 2026-11-11 | platform: google-ads, account: 1266231717 |
| Conversions ads.conversions | 2,590 | 1,646 | +57.4% | 2026-10-15 – 2026-11-11 | platform: google-ads, account: 1266231717, conversion_action: complete_new_signup |
| Estimated monthly waste ads.wasted_spend_est | – | – | – | 2026-10-15 – 2026-11-11 | platform: google-ads, account: 1266231717 |
| Audit items passed ads.audit_pass_rate | 46.7% | – | – | 2026-10-15 – 2026-11-11 | platform: google-ads, checked_items: 15, passed_items: 7 |
Folder: reports/publish/boldsign/google-ads-audit/20261112-1547_google-ads-audit_boldsign_874c