conversion-tracking — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited conversion-tracking (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Part of Agent Skills™ by googleadsagent.ai™
The Conversion Tracking skill provides end-to-end management of Google Ads conversion measurement infrastructure. Accurate conversion tracking is the foundation of every optimization decision — without it, bid strategies, budget allocation, and keyword valuations are operating blind. This skill handles setup, validation, debugging, and attribution modeling across the full conversion stack: Google tag, enhanced conversions, offline conversion imports, and conversion value rules.
The skill covers the complete conversion action hierarchy: macro conversions (purchases, leads, sign-ups) that drive bidding, and micro conversions (page views, add-to-cart, video plays) that inform audience building and funnel analysis. It configures conversion windows, view-through settings, and counting methods (one-per-click vs. every) based on business model requirements. Enhanced conversions using first-party data (email, phone, address) are set up to recover measurement gaps caused by cookie deprecation and privacy regulations.
Attribution modeling is a critical component. The skill evaluates and configures data-driven attribution (DDA), compares it against last-click and other models, and helps advertisers understand the true value contribution of upper-funnel campaigns. For businesses with offline sales cycles, it manages the offline conversion import pipeline via CRM integration, ensuring that revenue data flows back to Google Ads for accurate ROAS calculation.
flowchart TD
A[Conversion Strategy Definition] --> B[Conversion Action Setup]
B --> C[Primary Conversions\nPurchase, Lead, Sign-up]
B --> D[Secondary Conversions\nAdd-to-Cart, Page View]
C --> E[Google Tag Implementation]
D --> E
E --> F[Base Tag: gtag.js]
E --> G[Event Snippets]
E --> H[Google Tag Manager]
F --> I[Enhanced Conversions]
G --> I
I --> I1[Email Hashing]
I --> I2[Phone Hashing]
I --> I3[Address Matching]
J[CRM / Backend Data] --> K[Offline Conversion Import]
K --> K1[Click ID Matching: GCLID]
K --> K2[Enhanced Conversions for Leads]
K --> K3[Store Sales Import]
I1 --> L[Conversion Validation Engine]
I2 --> L
I3 --> L
K1 --> L
K2 --> L
K3 --> L
L --> M{Validation Status}
M -->|Healthy| N[Attribution Model Configuration]
M -->|Issues Detected| O[Debugging Pipeline]
O --> P[Tag Diagnostics]
O --> Q[Data Discrepancy Analysis]
O --> R[Cross-Platform Reconciliation]
N --> S[Data-Driven Attribution]
N --> T[Conversion Value Rules]
N --> U[Conversion Window Optimization]Conversion tracking validation and debugging framework:
async function validateConversionTracking(customerId) {
const conversionActions = await getConversionActions(customerId);
const tagDiagnostics = await runTagDiagnostics(customerId);
const recentConversions = await getRecentConversions(customerId, 7);
const issues = [];
for (const action of conversionActions) {
if (action.status !== 'ENABLED') continue;
const validation = {
actionName: action.name,
category: action.category,
tagInstalled: tagDiagnostics[action.id]?.installed ?? false,
firingCorrectly: tagDiagnostics[action.id]?.recentFires > 0,
conversionCount7d: recentConversions[action.id]?.count ?? 0,
conversionLag: calculateConversionLag(recentConversions[action.id]),
duplicateRate: detectDuplicates(recentConversions[action.id]),
valueAccuracy: validateConversionValues(recentConversions[action.id])
};
if (!validation.tagInstalled) {
issues.push({ action: action.name, severity: 'critical', issue: 'Tag not detected on website' });
}
if (!validation.firingCorrectly) {
issues.push({ action: action.name, severity: 'critical', issue: 'Tag installed but not firing' });
}
if (validation.duplicateRate > 0.05) {
issues.push({ action: action.name, severity: 'high', issue: `${(validation.duplicateRate * 100).toFixed(1)}% duplicate conversion rate detected` });
}
}
return { conversionActions, issues, overallHealth: issues.length === 0 ? 'healthy' : 'needs_attention' };
}Enhanced conversions setup:
function generateEnhancedConversionTag(config) {
const { conversionId, conversionLabel, dataSource } = config;
return `
<!-- Google tag (gtag.js) - Enhanced Conversions -->
<script async src="https://www.googletagmanager.com/gtag/js?id=${conversionId}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '${conversionId}');
gtag('set', 'user_data', {
'email': hashUserEmail(),
'phone_number': hashUserPhone(),
'address': {
'first_name': document.getElementById('first_name')?.value,
'last_name': document.getElementById('last_name')?.value,
'street': document.getElementById('street')?.value,
'city': document.getElementById('city')?.value,
'region': document.getElementById('region')?.value,
'postal_code': document.getElementById('postal_code')?.value,
'country': document.getElementById('country')?.value
}
});
gtag('event', 'conversion', {
'send_to': '${conversionId}/${conversionLabel}',
'value': getTransactionValue(),
'currency': 'USD',
'transaction_id': getOrderId()
});
</script>`;
}
async function setupOfflineConversionImport(customerId, crmConfig) {
const { crmType, conversionActionName, uploadFrequency } = crmConfig;
const pipeline = {
source: crmType,
gclidCapture: {
method: 'hidden_form_field',
fieldName: 'gclid',
storageMethod: 'crm_custom_field',
expirationDays: 90
},
conversionMapping: {
crmStage: crmConfig.qualifiedStage,
googleAdsAction: conversionActionName,
valueField: crmConfig.dealValueField
},
uploadSchedule: {
frequency: uploadFrequency,
lookbackWindow: '30_days',
deduplication: 'gclid_plus_timestamp'
}
};
return pipeline;
}Attribution model configuration:
function configureAttribution(customerId, config) {
const { preferredModel = 'DATA_DRIVEN' } = config;
return {
model: preferredModel,
requirements: {
dataDriven: {
minConversions30d: 300,
minClicks30d: 3000,
eligible: config.conversions30d >= 300 && config.clicks30d >= 3000
}
},
conversionValueRules: [
{ condition: 'audience_is_returning_customer', valueMultiplier: 1.5 },
{ condition: 'device_is_mobile', valueMultiplier: 0.8 },
{ condition: 'geo_is_tier1_market', valueMultiplier: 1.2 }
],
conversionWindows: {
clickThrough: config.salesCycleDays || 30,
viewThrough: Math.min(config.salesCycleDays || 30, 30),
engagedView: 3
}
};
}Conversion Tracking is the measurement foundation of the entire Buddy™ Agent platform. Before any optimization skill activates, Buddy™ runs the conversion validation pipeline to ensure data integrity. If tracking issues are detected, Buddy™ alerts the user and pauses optimization recommendations until the measurement foundation is sound.
Buddy™ continuously monitors conversion data for anomalies: sudden drops in conversion volume, unexpected changes in conversion rate, value discrepancies between Google Ads and backend systems, and tag firing failures. These anomalies trigger automated diagnostic workflows that identify root causes and suggest fixes.
For accounts with offline conversions, Buddy™ manages the automated import pipeline, ensuring CRM data flows back to Google Ads on schedule with proper GCLID matching. The platform tracks import success rates, identifies matching failures, and reconciles conversion data across platforms.
| Platform | Supported |
|---|---|
| Claude Code | ✅ |
| Cursor | ✅ |
| Codex | ✅ |
| Gemini | ✅ |
conversion tracking, google tag, gtag, enhanced conversions, offline conversions, GCLID, conversion import, attribution modeling, data-driven attribution, conversion value rules, conversion actions, conversion debugging, conversion setup, google ads conversions, conversion validation
© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.