Open the conversion settings of a typical service-business Google Ads account and you’ll find an archaeology dig: a form-submit action from the original setup, a “page view > 30 seconds” someone added during a slow month, two duplicate call actions from an agency transition, a GA4-imported event counting the same forms a second time, and a newsletter signup nobody remembers creating — all set to Primary, all feeding Smart Bidding simultaneously. The account’s reported conversions look healthy. Its bank account disagrees. This is not a tracking bug; it is an architecture failure, and it is arguably the single most common structural problem in self-managed and inherited accounts.
The Primary/Secondary distinction exists precisely to prevent this, and it is brutally consequential: Primary conversion actions are what Smart Bidding spends your money to get more of. Secondary actions are observed and reported but do not steer bidding. Every action you mark Primary is an instruction — “buy more of this” — and when five mismatched actions are all Primary, the algorithm dutifully buys a blend of real leads, micro-engagements, and double-counted duplicates, then reports the mess as success.
This guide is the architecture manual: what Primary and Secondary actually control, the decision framework for classifying every action type a service business encounters, the counting settings (one vs every) that quietly double or halve your numbers, how the hierarchy should evolve as offline data arrives, account-level defaults versus campaign-level goal overrides, and the cleanup procedure for accounts already suffering from conversion sprawl.
Primary actions steer Smart Bidding and appear in the Conversions column; Secondary actions are observation-only. The rule: mark Primary only the deepest business outcome you can reliably measure at meaningful volume — qualified leads or customers via offline import where possible, form/call conversions otherwise. Everything shallower — page engagement, scroll, video views, newsletter signups, remarketing-audience events — is Secondary or shouldn’t exist as a conversion at all. One Primary per real outcome: duplicate form + GA4-import pairs must have one demoted to Secondary or bidding double-counts. Counting: leads = One per click; purchases = Every. Evolve the hierarchy: when CRM-imported qualified-lead volume is sufficient (roughly 30+/month), promote it toward Primary and demote raw form fills — bidding should always chase the deepest signal that has enough volume to learn from.
What Primary and Secondary Actually Control
Three concrete behaviors hang on the toggle:
- Bidding. Smart Bidding strategies (Maximize Conversions, Target CPA, Target ROAS, Maximize Conversion Value) optimize toward Primary actions in the campaign’s goal set — and ignore Secondary ones for optimization. The strategy comparison in our Target CPA vs ROAS guide assumes this foundation is right; no bid strategy can save an account optimizing toward the wrong actions.
- Reporting. Primary actions populate the default “Conversions” column (and its cost-per and rate derivatives); Secondary actions live in “All conversions.” Every screenshot in every performance meeting is showing Primary actions — which is why sprawl inflates dashboards while deflating bank accounts.
- Budget behavior downstream. Because automated bidding chases Primary volume, every misclassified action redirects real spend: a “30-second visit” Primary action tells the system that cheap curious traffic is a win, and it will find you unlimited amounts of it.
The Classification Framework
| Action type | Classification | Reasoning |
|---|---|---|
| Closed customer / revenue (offline import) | Primary (when volume permits) | The true objective; with values attached it unlocks value-based bidding |
| Qualified lead / SQL (offline import) | Primary at ~30+/month; Secondary while volume builds | Deep signal, usually the best learnable Primary for service businesses |
| Lead form submission | Primary until deeper data matures, then demote | The classic starting Primary — and the classic thing accounts never graduate from |
| Calls (duration-filtered, e.g. >60s) | Primary for call-driven businesses | Duration filter is mandatory — unfiltered call actions count misdials and spam |
| Booking / appointment scheduled | Primary | Deeper than a form; often the best proxy before CRM import exists |
| GA4-imported duplicates of the above | Secondary (or remove) | Same real-world event twice; two Primaries = double-counted bidding signal |
| Newsletter signup, guide download | Secondary | Worth observing; disastrous to optimize toward — cheap non-buyers are infinite |
| Scroll depth, time on site, video views | Secondary or delete | Engagement telemetry, not conversions; usually belongs in GA4 only |
| Remarketing-audience trigger events | Not a conversion at all | Build audiences from events, not conversion actions |
Walk your list and ask of each Primary: “what real-world event does this represent?” If two actions answer the same way — a GTM form conversion plus a GA4 import of the same form, or two call actions from different tracking eras — one of them is double-counting every conversion into bidding and reporting. Keep the more reliable source as Primary, demote the other to Secondary (temporarily, for cross-validation) and then remove it. Accounts routinely discover their “great” cost per lead doubles after deduplication — painful for one meeting, and the first accurate number the account has reported in years.
The Counting Setting Everyone Forgets
Every conversion action also carries a counting choice — One per click or Every conversion — and the wrong choice distorts numbers as badly as misclassification. The rule is intent-based: lead-type actions should count One (a prospect submitting the form three times is one lead, not three); purchase-type actions count Every (three orders are three orders). Service businesses almost universally want One on forms and calls. While auditing, also check each action’s click-through conversion window: it must be at least as long as your realistic click-to-conversion lag, or late converters silently vanish — a 30-day window on a 60-day consideration service undercounts precisely your most deliberate, highest-value customers. Attribution model (data-driven by default now) matters less than these two, but confirm imported actions aren’t stuck on last-click legacy settings.
The Hierarchy Should Evolve: The Graduation Path
The right Primary is not a permanent decision — it’s the deepest signal you can currently feed at learnable volume, and it should graduate as your measurement matures:
- Stage 1 — launch: form submits + duration-filtered calls as Primary. It’s all you can measure; fine.
- Stage 2 — CRM loop live: qualified-lead imports (via Enhanced Conversions for Leads or GCLID import) run as Secondary while volume and match rates prove out.
- Stage 3 — graduation: once imported qualified leads run at roughly 30+/month for a couple of months, promote them to Primary and demote raw form fills to Secondary. Bidding now chases quality; expect a turbulent learning period of 2–3 weeks and hold your nerve.
- Stage 4 — value: attach real values to customer imports and move to value-based bidding, so a $15,000 job outbids a $500 one automatically. The pipeline mechanics live in our CRM-to-Smart-Bidding guide.
Account Defaults vs Campaign-Level Goals
By default, every campaign optimizes toward all account-level Primary actions. Campaign-specific goal settings let you override this — and for multi-service businesses they’re the difference between coherent and muddled optimization: the HVAC-repair campaign should optimize toward HVAC lead actions, not toward the remodeling division’s form fills. Use custom goals sparingly and deliberately: one campaign optimizing toward its own service’s qualified-lead action is precision; ten campaigns each with bespoke goal sets is an unmaintainable mess that fragments learning data. The practical pattern for most service businesses: a clean account-level Primary set (qualified lead + customer), with campaign-level overrides only where service lines genuinely have different economics — and never as a workaround for a polluted account-level list.
Every Primary/Secondary change alters the data Smart Bidding learns from, and stacking five changes in one afternoon throws campaigns into a compounded learning reset — volatile spend, erratic CPAs, and no way to attribute which change caused what. Sequence the cleanup: deduplicate first (demote GA4 duplicates), wait a week; fix counting settings, wait; then execute the promotion/demotion of the deepest signal as a single deliberate change with a 2–3 week evaluation window. On accounts spending heavily, note bid strategy targets may need temporary loosening — a Target CPA calibrated to inflated double-counted conversions is suddenly impossibly strict against deduplicated reality.
The Cleanup Procedure for Sprawled Accounts
- Inventory. Export every conversion action with: source (tag/GA4/import/call), Primary/Secondary status, counting, window, last-30-day volume, and what real-world event it represents. Ten minutes in a spreadsheet reveals the duplicates and zombies immediately — it’s the same exercise as item one of any serious account audit.
- Delete or archive the zombies: zero-volume actions, legacy migrations, remarketing triggers masquerading as conversions.
- Deduplicate: one Primary per real outcome; the duplicate source goes Secondary, then away.
- Fix counting and windows per the rules above.
- Set the target hierarchy for your stage on the graduation path, change it as one deliberate move, and annotate the account (change history notes) so the CPA shift has a documented cause.
- Re-baseline reporting: tell stakeholders the honest numbers are coming and why they’ll look worse — deduplicated, quality-weighted conversions at a higher CPA that finally corresponds to reality is an upgrade, not a regression.
Frequently Asked Questions
Should phone calls be a Primary conversion action?
For call-driven service businesses, yes — with two non-negotiable conditions. First, a duration threshold (commonly 60 seconds, longer for complex services): unfiltered call conversions count wrong numbers, spam, and vendors, and making that noise Primary teaches bidding to buy phone-ringers rather than customers. Second, deduplication against your other call tracking: if a call-tracking platform also imports calls, one source must be Secondary. The stronger long-term pattern is treating duration-filtered calls as Primary only until your intake process can mark calls as qualified in the CRM — at which point imported qualified calls graduate to Primary and raw duration-filtered calls demote to Secondary, exactly like the form-fill graduation path. Businesses where calls are a minority channel can reasonably keep calls Secondary and let form/booking actions steer.
How many Primary conversion actions is too many?
Count real-world outcomes, not actions: most service businesses should have one to three — typically qualified lead (or its best current proxy: form + filtered calls + bookings as complementary, non-overlapping paths to the same stage) plus closed customer once imports mature. Warning signs you have too many: any two Primaries representing the same event (double-counting), Primaries at wildly different funnel depths steering simultaneously (form fills and newsletter signups ‘equal’ in bidding’s eyes unless values differentiate them), or any Primary a stakeholder can’t map to money in one sentence. Note the inverse failure exists too: a single Primary with tiny volume (five conversions a month) starves Smart Bidding — at very low volume, a slightly shallower but higher-volume Primary often outperforms the ‘purer’ signal until your deeper data reaches learnable scale.
If Secondary actions don't affect bidding, why keep them at all?
Three genuine uses. Cross-validation: a GA4-imported duplicate kept as Secondary for a quarter lets you verify your Primary source’s counts before deleting the redundancy. Diagnostic context: engagement-tier actions (newsletter signups, key page views) in the ‘All conversions’ column help explain movements — a campaign whose Secondary engagement collapsed while Primary held is telling you something about traffic quality shifts. And staging: every graduation on the hierarchy path runs the new deeper signal as Secondary first, proving volume and match rates before it takes the wheel. What Secondary is not for is hoarding: an action nobody has looked at in six months isn’t observation, it’s clutter — and clutter is how the next person managing the account misreads what matters. Audit the Secondary list quarterly with the same one-sentence-to-money test.
We just demoted form fills and promoted CRM qualified leads to Primary — and CPAs jumped 60%. Did we break it?
Almost certainly not — you replaced a cheap, abundant signal with an expensive, scarce, honest one, and the reported CPA moved from cost-per-form-fill to cost-per-qualified-lead. Those are different units; comparing them across the change date is the classic post-cleanup misreading. Three things to verify rather than panic about: that qualified-lead volume is sufficient for learning (roughly 30+/month — if not, consider reverting until imports scale); that your bid strategy targets were adjusted for the new unit (a Target CPA set for form-fill economics will strangle volume against qualified-lead reality); and that the learning period (typically 1–3 weeks) has actually elapsed before judging. The number that should improve — and the only one that matters — is cost per qualified lead and, downstream, cost per customer. If those trend better over the following 60 days while form-fill CPA looks ‘worse,’ the change did exactly its job: bidding stopped buying cheap forms from people who never answer the phone.
Should GA4 conversions be imported into Google Ads at all?
Import GA4 events only for outcomes your Google Ads tags can’t capture directly — and never as Primary duplicates of events the Ads tag already tracks. The Ads-native tag (with enhanced conversions) is generally the stronger source for bidding: it’s designed for the ad click context, supports user-provided data, and avoids GA4’s different attribution and processing lags that make imported numbers drift from tag-based ones. Reasonable GA4 imports: conversions that only exist as GA4 events (certain app or cross-domain flows), or as temporary Secondary cross-checks during migrations. The account pattern to avoid — and the one most commonly found in audits — is the same form tracked by both a GTM Ads tag and an imported GA4 event, both Primary: every lead counts twice, every reported CPA is half of reality, and Smart Bidding is being congratulated for conversions that happened once. Why the two systems’ numbers never match even when correctly configured is its own topic — see our reconciliation guide on the Ads/GA4/CRM discrepancies.
Is Smart Bidding optimizing toward the right things in your account?
We’ll inventory every conversion action, find the duplicates and zombies inflating your reports, and rebuild the Primary/Secondary architecture so your budget chases qualified leads — then manage the learning-period transition without the volatility.
Get a Conversion Architecture Audit Explore Ads Management