Back to Marketing Attribution Reporting

Process Runbook / SOP

How the automation works day-to-day: what is automatic, what needs a human, how exceptions are handled, and who to contact.

4 pagesPDF · Operations
FS-DOC-03Operations

Process Runbook / SOP

Marketing Attribution Reporting

[YourCompany.com] · Marketing Department · Prepared by FullSpec · [Today's Date]

This runbook is the day-to-day operating guide for the Marketing Attribution Reporting automation. It tells your team exactly what the system does on its own, where a human is required to act, how to handle things when something goes wrong, and who to call when you need help. FullSpec has built, tested, and launched the automation end to end. Your team's responsibility is the single review step described in Section 02 and the periodic maintenance checks in Section 05.

01Process overview

On a fixed weekly or monthly schedule, or immediately after a campaign end date is reached, the automation pulls attribution data from Google Ads, Meta Ads Manager, Google Analytics 4, and HubSpot via direct API connections. It normalises UTM tags, merges all data into the master Google Sheet, applies the configured attribution model, and posts a plain-language performance summary with the report link to the designated Slack channel. The Marketing Manager then has a focused 30-minute window to review the completed report for anomalies, cross-check key totals, and add any strategic narrative before sharing with leadership. The entire pipeline that previously took five to six hours of manual effort is reduced to under 20 minutes of human time per cycle.

Process name
Marketing Attribution Reporting
Trigger
Scheduled report date arrives (weekly or monthly cadence) or a campaign end event is detected by the automation platform
Final output
Completed attribution table in Google Sheets with per-channel CPA and ROAS, plus a plain-language summary posted to Slack with the report link
Agents running
Data Fetch Agent, Attribution and Merge Agent, Summary and Delivery Agent
Tools involved
Google Ads, Meta Ads Manager, Google Analytics 4, HubSpot, Google Sheets, Slack
Weekly volume
4 to 6 attribution reports per month (weekly and monthly cadences, plus ad-hoc after campaigns)
Human checkpoint
Marketing Manager reviews the completed report for anomalies and cross-checks key totals (approx. 30 minutes per cycle)
Process owner
[Your name] — Marketing Manager
Process Runbook / SOPPage 1 of 4
FS-DOC-03Operations

02Step-by-step: what happens and who acts

What you actually need to do: There is one human step in this process. After the Summary and Delivery Agent posts the report to Slack, the Marketing Manager opens the Google Sheet, spends approximately 30 minutes reviewing the attributed figures and any flagged anomalies, and confirms the numbers are sound before the report is circulated to leadership. Everything else in the list below runs automatically without any action from your team.
Step
What happens
Who acts
Type
1
The automation platform fires on the configured schedule, either the weekly or monthly report date, or immediately when a campaign end event is detected. No manual action is needed to start the process.
Automation
Automated
2
The Data Fetch Agent connects to the Google Ads API and retrieves campaign, ad group, and conversion performance data for the full reporting period, handling authentication and pagination automatically.
Data Fetch Agent
Automated
3
The Data Fetch Agent connects to Meta Ads Manager via its API and retrieves spend, impressions, clicks, and conversions for the same date range, aligned to match the Google Ads period.
Data Fetch Agent
Automated
4
The Data Fetch Agent queries the Google Analytics 4 Data API and pulls the source/medium conversion breakdown, sessions, and goal completions, normalised to the same reporting window.
Data Fetch Agent
Automated
5
The Data Fetch Agent calls the HubSpot API and retrieves closed deals, original lead sources, and associated revenue for the period, adding the bottom-of-funnel revenue layer to the data set.
Data Fetch Agent
Automated
6
Once all four sources are confirmed written to the staging area, the Attribution and Merge Agent normalises UTM and source labels across platforms, merges everything into the master Google Sheet, and applies the configured attribution model to calculate CPA and ROAS per channel.
Attribution and Merge Agent
Automated
7
The Summary and Delivery Agent reads the completed attribution table, identifies the top-performing channel, flags any anomalies such as spend spikes or ROAS drops, and writes a short plain-language summary paragraph with key findings.
Summary and Delivery Agent
Automated
8
The Summary and Delivery Agent posts the Google Sheet link and the generated summary to the designated Slack channel, tagging the Marketing Manager to indicate the report is ready for review.
Summary and Delivery Agent
Automated
9
The Marketing Manager opens the Slack notification, clicks through to the Google Sheet, and spends approximately 30 minutes reviewing the attributed figures, cross-checking key totals against the platform dashboards, and reading the flagged anomalies. If everything looks correct, no further action is required. If a figure looks wrong, the manager investigates and notes any issue for the FullSpec team if it recurs.
Marketing Manager
Human
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations

03Handling exceptions

Situation
What the system does
What you do
A data source returns no records or an empty response for the period (for example, a campaign was paused and GA4 shows zero conversions)
The Data Fetch Agent logs the empty result and flags it in the attribution sheet as a zero-data row for that channel. The Summary and Delivery Agent includes a plain-language note in the Slack summary stating which source returned no data.
Check whether the campaign or channel was intentionally paused for that period. If it should have data, log into the relevant platform directly and confirm the date range is correct. Contact FullSpec at support@gofullspec.com if the empty result persists across two consecutive cycles.
Duplicate report entries appear in the Google Sheet (the same campaign or date range is written twice)
The Attribution and Merge Agent uses a de-duplication check on campaign ID and date range before writing. If a duplicate is detected, the agent skips the second write and logs a warning in the run log.
If you notice duplicate rows in the sheet that the agent did not catch, do not delete them manually. Note the date and report cycle and contact support@gofullspec.com so the FullSpec team can review the de-duplication logic.
UTM tags are missing or malformed for a campaign, so the source cannot be attributed correctly
The Attribution and Merge Agent applies the normalisation rules configured at build time. Sources it cannot match are grouped under an 'Unattributed' row in the sheet. The Slack summary flags the number of unattributed sessions or conversions for that cycle.
Review your team's UTM naming conventions for any campaigns that ran in the affected period. Fix the source tagging at campaign level in the ad platform for future runs. Persistent unattributed volume above 10 percent of total conversions should be raised with the FullSpec team to update the normalisation rules.
The Marketing Manager does not review the report within 48 hours of it being posted to Slack
The system does not send an automatic chase. The report remains in the Google Sheet and Slack message until reviewed. No downstream action depends on the review step completing.
Review the report as soon as possible. If you are away or unavailable, assign a named backup reviewer from your team before the cycle runs. Update the contact table in Section 04 with their details so the team knows who to tag.
An external API is unavailable or returns an error at the time the automation runs (for example, the Meta Ads API returns a 503 or a rate limit error)
The automation platform retries the failed API call up to three times with a back-off interval. If the call still fails after three attempts, the run is paused for that source and an error alert is sent to the designated Slack channel. The other data sources that succeeded are held and not merged until the failed source is resolved or manually overridden.
Check the Slack error alert for detail on which source failed. If the platform is experiencing a known outage (check the relevant status page), wait for it to resolve and then trigger a manual re-run from the automation platform dashboard. If you are unsure how to trigger a re-run, contact support@gofullspec.com and the FullSpec team will restart it for you.
HubSpot deal source data is missing or inconsistent because the sales team has not logged original lead sources correctly in the CRM
The Attribution and Merge Agent writes whatever HubSpot returns. Deals with no original source field populated appear in the sheet as 'Source unknown'. The Slack summary flags the count of deals with no source attribution.
Raise the lead source logging issue with the sales team and ask them to complete the original source field on all open and future deals. This is a CRM hygiene issue that sits outside the automation. For historical gaps, you can manually update deal records in HubSpot and trigger a re-run for the affected period. Contact support@gofullspec.com if you need a re-run initiated.
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations

04Who to contact and when

Fill in the rows marked with brackets once your team is confirmed. Keep this table updated whenever a role changes hands. The FullSpec rows are fixed and do not need to be edited.

Role
Name
How to reach them
Process owner (Marketing Manager)
[Your name]
[Your email or Slack handle]
Backup reviewer (covers absences)
[Backup name]
[Backup email or Slack handle]
Marketing Analyst (UTM and sheet queries)
[Analyst name]
[Analyst email or Slack handle]
Head of Growth (escalation for budget decisions)
[Your name]
[Rep email]
Google Ads account admin (API credential issues)
[Admin name]
[Admin email]
Meta Ads account admin (API credential issues)
[Admin name]
[Admin email]
HubSpot CRM admin (deal source data or access issues)
[Admin name]
[Admin email]
FullSpec builder (technical changes to the automation)
FullSpec team
support@gofullspec.com
FullSpec support (errors, failed runs, re-runs, general questions)
FullSpec support
support@gofullspec.com

05Ongoing maintenance

When
What to do
Who
Whenever a new data source or channel is added
Contact FullSpec at support@gofullspec.com to request a new API connection be added to the Data Fetch Agent. Do not attempt to add columns to the staging sheet manually as this will break the merge logic.
Process owner plus FullSpec team
Whenever the attribution model is changed (for example, switching from last-touch to linear)
Notify FullSpec before making any changes. The Attribution and Merge Agent's formula logic must be updated by the FullSpec team. Changing the model after launch requires a configuration update, not a rebuild.
Process owner raises the request; FullSpec team implements
Monthly spot-check (first cycle of each month)
Open the most recent report in Google Sheets and spot-check five to ten rows against the live platform dashboards to confirm figures are still matching within an acceptable tolerance. Note any discrepancies and report them to FullSpec if they persist.
Marketing Manager
Weekly error log review
Check the designated Slack channel for any error alerts from the previous week's run. If an error alert was posted and no action was taken, investigate the cause and contact FullSpec if the error is recurring.
Marketing Manager or Marketing Analyst
Whenever a team member changes roles or leaves
Update the contact table in Section 04 of this runbook. If the departing person held API credentials or admin access to any connected platform, ensure their access is revoked and a replacement admin is assigned before the next report cycle.
Process owner
Quarterly volume review (every three months)
Review how many reports are running per month and whether the schedule still matches the business's reporting cadence. If weekly reports are no longer needed or a new monthly cycle has been added, contact FullSpec to update the trigger schedule.
Process owner plus FullSpec team
The most common maintenance issue for this process is UTM tag hygiene. When campaigns are launched without consistent UTM naming, the normalisation rules the Attribution and Merge Agent uses start to break down and unattributed volume grows over time. The easiest prevention is a brief UTM naming checklist shared with anyone who creates campaigns. If unattributed conversions exceed 10 percent of total in any cycle, review new campaigns launched that period first before assuming a system fault.
Process Runbook / SOPPage 4 of 4

More documents for this process

Every document generated for Marketing Attribution Reporting.

Launch Plan
Operations · Owner
View
ROI and Business Case
Finance · Owner
View
Developer Handover Pack
Technical · Developer
View
Integration and API Spec
Technical · Developer
View
Test and QA Plan
Quality · Developer
View