[{"data":1,"prerenderedAt":491},["ShallowReactive",2],{"header":3,"footer":289,"blog\u002Fbfcm-hourly-reporting-template-track-spend-cpa-and-campaign-issues":419,"blog-banner":476},{"header":4},{"primaryNavigation":5,"pages":244,"buttonBlock":247,"visibilityButtonBlock":252,"lightswitch":274,"linkField":275,"plainText":277,"announcementStyle":278,"headScripts":279},[6,82,163,169,214],{"buttonLink":7,"dropdown":13},[8],{"ariaLabel":9,"target":9,"url":10,"text":11,"entryType":12},null,"https:\u002F\u002Fpixis.ai\u002Fproducts\u002F","Products","buttonLink_Entry_LinkType",[14],{"buttonLink":15,"tagline":17,"featureLinks":18,"standardLinks":62,"ctaHeading":76,"ctaLink":77},[16],{"ariaLabel":9,"target":9,"url":10,"text":11,"entryType":12},"Own the next era of advertising.",[19,35,49],{"buttonLink":20,"tagline":24,"asset":25},[21],{"ariaLabel":9,"target":9,"url":22,"text":23,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fproducts\u002Fprism\u002F","Prism","Predict outcomes, improve efficiency",[26],{"type":27,"image":28,"mobileImage":34},"image_Entry",[29],{"src":30,"alt":31,"width":32,"height":33},"https:\u002F\u002Fd191k2rrohvvg6.cloudfront.net\u002Fimages\u002FLogos\u002FPrism.png","Prism logo",140,141,[],{"buttonLink":36,"tagline":40,"asset":41},[37],{"ariaLabel":9,"target":9,"url":38,"text":39,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fproducts\u002Fcreative-ai\u002F","Adroom","Your all-in-one creative powerhouse.",[42],{"type":27,"image":43,"mobileImage":48},[44],{"src":45,"alt":46,"width":47,"height":47},"https:\u002F\u002Fd191k2rrohvvg6.cloudfront.net\u002Fimages\u002FLogos\u002FAdroom-logo.png","Adroom logo",80,[],{"buttonLink":50,"tagline":54,"asset":55},[51],{"ariaLabel":9,"target":9,"url":52,"text":53,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fproducts\u002Fpixis-visibility\u002F","Visibility","Be the brand AI recommends",[56],{"type":27,"image":57,"mobileImage":61},[58],{"src":59,"alt":9,"width":60,"height":60},"https:\u002F\u002Fd191k2rrohvvg6.cloudfront.net\u002Fimages\u002Fv-logo-new.svg",39,[],[63],{"heading":64,"links":65},"Platform",[66,71],{"buttonLink":67},[68],{"ariaLabel":9,"target":9,"url":69,"text":70,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fproducts\u002Fintegrations\u002F","Integrations",{"buttonLink":72},[73],{"ariaLabel":9,"target":9,"url":74,"text":75,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fproducts\u002Fcompliance\u002F","Compliance","Seeing is believing",[78],{"ariaLabel":9,"target":9,"url":79,"text":80,"entryType":81},"https:\u002F\u002Fpixis.ai\u002Fget-a-demo\u002F","Get a demo","buttonLink2_Entry_LinkType",{"buttonLink":83,"dropdown":87},[84],{"ariaLabel":9,"target":9,"url":85,"text":86,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002F","Solutions",[88],{"buttonLink":89,"tagline":91,"featureLinks":92,"standardLinks":93,"ctaHeading":158,"ctaLink":159},[90],{"ariaLabel":9,"target":9,"url":85,"text":86,"entryType":12},"No matter your role or goal, Pixis adapts to your needs.",[],[94,117,135],{"heading":95,"links":96},"By use case",[97,102,107,112],{"buttonLink":98},[99],{"ariaLabel":9,"target":9,"url":100,"text":101,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Fperformance-budget-optimization\u002F","Performance & Budget Optimization",{"buttonLink":103},[104],{"ariaLabel":9,"target":9,"url":105,"text":106,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Faudience-targeting\u002F","Audience Targeting",{"buttonLink":108},[109],{"ariaLabel":9,"target":9,"url":110,"text":111,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Fad-creation\u002F","Ad Creation",{"buttonLink":113},[114],{"ariaLabel":9,"target":9,"url":115,"text":116,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Finsights-monitoring\u002F","Insights & Monitoring",{"heading":118,"links":119},"By team",[120,125,130],{"buttonLink":121},[122],{"ariaLabel":9,"target":9,"url":123,"text":124,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Fperformance-teams\u002F","Performance",{"buttonLink":126},[127],{"ariaLabel":9,"target":9,"url":128,"text":129,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Fcreative-teams\u002F","Creative",{"buttonLink":131},[132],{"ariaLabel":9,"target":9,"url":133,"text":134,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Fagencies\u002F","Agency",{"heading":136,"links":137},"By Industry",[138,143,148,153],{"buttonLink":139},[140],{"ariaLabel":9,"target":9,"url":141,"text":142,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Fretail\u002F","Retail",{"buttonLink":144},[145],{"ariaLabel":9,"target":9,"url":146,"text":147,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Fconsumer-packaged-goods\u002F","Consumer Packaged Goods",{"buttonLink":149},[150],{"ariaLabel":9,"target":9,"url":151,"text":152,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Fhealthcare\u002F","Healthcare",{"buttonLink":154},[155],{"ariaLabel":9,"target":9,"url":156,"text":157,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fsolutions\u002Ftelecoms\u002F","Telecoms","Looking for a stellar marketing agency?",[160],{"ariaLabel":9,"target":9,"url":161,"text":162,"entryType":81},"https:\u002F\u002Fpixis.ai\u002Fstellar\u002F","Our partner agencies",{"buttonLink":164,"dropdown":168},[165],{"ariaLabel":9,"target":9,"url":166,"text":167,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fpeer-stories\u002F","Peer Stories",[],{"buttonLink":170,"dropdown":175},[171],{"ariaLabel":9,"target":9,"url":172,"text":173,"entryType":174},"#","Knowledge Hub","buttonLink_Custom_LinkType",[176],{"buttonLink":177,"tagline":9,"featureLinks":179,"standardLinks":180,"ctaHeading":210,"ctaLink":211},[178],{"ariaLabel":9,"target":9,"url":172,"text":173,"entryType":174},[],[181,208],{"heading":9,"links":182},[183,188,193,198,203],{"buttonLink":184},[185],{"ariaLabel":9,"target":9,"url":186,"text":187,"entryType":12},"https:\u002F\u002Fpixis.ai\u002F2025-benchmarks\u002F","2025 Benchmark Report",{"buttonLink":189},[190],{"ariaLabel":9,"target":9,"url":191,"text":192,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fblog\u002F","Blog",{"buttonLink":194},[195],{"ariaLabel":9,"target":9,"url":196,"text":197,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fresources\u002F","Resources",{"buttonLink":199},[200],{"ariaLabel":9,"target":9,"url":201,"text":202,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fevents-webinars\u002F","Events",{"buttonLink":204},[205],{"ariaLabel":9,"target":9,"url":206,"text":207,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fpodcasts\u002F","Podcasts",{"heading":9,"links":209},[],"What We Learned from Over $1.8B in Ad Spend on Google & Meta",[212],{"ariaLabel":9,"target":9,"url":186,"text":213,"entryType":81},"Get the 2025 Benchmark Report",{"buttonLink":215,"dropdown":218},[216],{"ariaLabel":9,"target":9,"url":172,"text":217,"entryType":174},"Company",[219],{"buttonLink":220,"tagline":9,"featureLinks":222,"standardLinks":223,"ctaHeading":241,"ctaLink":242},[221],{"ariaLabel":9,"target":9,"url":172,"text":217,"entryType":174},[],[224],{"heading":9,"links":225},[226,231,236],{"buttonLink":227},[228],{"ariaLabel":9,"target":9,"url":229,"text":230,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fabout\u002F","About",{"buttonLink":232},[233],{"ariaLabel":9,"target":9,"url":234,"text":235,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fcareers\u002F","Careers",{"buttonLink":237},[238],{"ariaLabel":9,"target":9,"url":239,"text":240,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fnews-press\u002F","News & Press","Join our ambitious team",[243],{"ariaLabel":9,"target":9,"url":234,"text":235,"entryType":81},[245],{"uri":246},"search-results",[248],{"type":249,"buttonLink":250},"pill-solid-pointer-icon",[251],{"ariaLabel":9,"target":9,"url":79,"text":80,"entryType":12},[253,261,268],{"buttonBlock":254},[255],{"type":256,"buttonLink":257},"pill-solid-light",[258],{"ariaLabel":9,"target":9,"url":259,"text":260,"entryType":174},"https:\u002F\u002Fvisibility.pixis.ai\u002F","Log In",{"buttonBlock":262},[263],{"type":264,"buttonLink":265},"pill-solid-teal",[266],{"ariaLabel":9,"target":9,"url":79,"text":267,"entryType":12},"Book a Demo",{"buttonBlock":269},[270],{"type":249,"buttonLink":271},[272],{"ariaLabel":9,"target":9,"url":259,"text":273,"entryType":174},"Sign up for free",false,{"url":276,"target":9},"https:\u002F\u002Fpixis.ai\u002Fmeet-prism\u002F?utm_source=homepage&utm_medium=banner&utm_content=meet_prism","Meet Prism: Your Always-On, AI-Powered Growth Partner","orange",[280,283,286],{"scriptLabel":281,"scriptContent":282},"Claydar Script","(function() {\n    var script = document.createElement('script');\n    script.async = true;\n    script.src = 'https:\u002F\u002Fstatic.claydar.com\u002Finit.v1.js?id=cng7DR4jnB';\n    var firstScript = document.getElementsByTagName('script')[0];\n    firstScript.parentNode.insertBefore(script, firstScript);\n  })();",{"scriptLabel":284,"scriptContent":285},"Default Pixel","!function(e,t){e.__defaultPixel__={key:\"b80666b3-0a8f-41d0-9241-0d1200c42bde\"};!function e(o){o=o||1;var n=t.createElement(\"script\");n.async=!0,n.src=\"https:\u002F\u002Fhandshake.default.com\u002Findex.js\",n.onload=function(){console.log(\"[Pixel] Script loaded successfully\"+(o>1?\" after \"+o+\" attempts\":\"\"))},n.onerror=function(){console.warn(\"[Pixel] Failed to load script (attempt \"+o+\"\u002F3)\"),o\u003C3?setTimeout((function(){e(o+1)}),2e3*o):console.error(\"[Pixel] Script failed to load after 3 attempts\")},t.head.appendChild(n)}()}(window,document);",{"scriptLabel":287,"scriptContent":288},"lemlist","(function() {\n    var script = document.createElement('script');\n    script.async = true;\n    script.src = 'https:\u002F\u002Fapp.lemlist.com\u002Fapi\u002Fvisitors\u002Ftracking?k=wIUMiMPlcVYKUVOt3B39xWwVNYlRvqDI7LTH9ORCn3c%3D&t=tea_JdKFTAfGe4hC5JgDE';\n    var firstScript = document.getElementsByTagName('script')[0];\n    firstScript.parentNode.insertBefore(script, firstScript);\n})();",{"footer":290},{"footerNavigation":291,"partnerAssets":381,"links":402,"copyRightNotice":418},[292,313,333,337,365],{"buttonLink":293,"dropdown":295},[294],{"ariaLabel":9,"target":9,"url":10,"text":11,"entryType":12},[296],{"links":297},[298,301,304,307,310],{"buttonLink":299},[300],{"ariaLabel":9,"target":9,"url":22,"text":23,"entryType":12},{"buttonLink":302},[303],{"ariaLabel":9,"target":9,"url":38,"text":39,"entryType":12},{"buttonLink":305},[306],{"ariaLabel":9,"target":9,"url":52,"text":53,"entryType":12},{"buttonLink":308},[309],{"ariaLabel":9,"target":9,"url":69,"text":70,"entryType":12},{"buttonLink":311},[312],{"ariaLabel":9,"target":9,"url":74,"text":75,"entryType":12},{"buttonLink":314,"dropdown":316},[315],{"ariaLabel":9,"target":9,"url":85,"text":86,"entryType":12},[317],{"links":318},[319,324,328],{"buttonLink":320},[321],{"ariaLabel":9,"target":9,"url":322,"text":118,"entryType":323},"\u002Fsolutions\u002F#teams","buttonLink_Url_LinkType",{"buttonLink":325},[326],{"ariaLabel":9,"target":9,"url":327,"text":95,"entryType":323},"\u002Fsolutions\u002F#use-cases",{"buttonLink":329},[330],{"ariaLabel":9,"target":9,"url":331,"text":332,"entryType":323},"\u002Fsolutions\u002F#industries","By industry",{"buttonLink":334,"dropdown":336},[335],{"ariaLabel":9,"target":9,"url":166,"text":167,"entryType":12},[],{"buttonLink":338,"dropdown":340},[339],{"ariaLabel":9,"target":9,"url":172,"text":173,"entryType":174},[341],{"links":342},[343,346,349,352,355,360],{"buttonLink":344},[345],{"ariaLabel":9,"target":9,"url":191,"text":192,"entryType":12},{"buttonLink":347},[348],{"ariaLabel":9,"target":9,"url":196,"text":197,"entryType":12},{"buttonLink":350},[351],{"ariaLabel":9,"target":9,"url":206,"text":207,"entryType":12},{"buttonLink":353},[354],{"ariaLabel":9,"target":9,"url":201,"text":202,"entryType":12},{"buttonLink":356},[357],{"ariaLabel":9,"target":9,"url":358,"text":359,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fblog\u002Fprism-frequently-asked-questions\u002F","Prism FAQ",{"buttonLink":361},[362],{"ariaLabel":9,"target":9,"url":363,"text":364,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fglossary\u002F","Glossary",{"buttonLink":366,"dropdown":368},[367],{"ariaLabel":9,"target":9,"url":172,"text":217,"entryType":174},[369],{"links":370},[371,374,378],{"buttonLink":372},[373],{"ariaLabel":9,"target":9,"url":229,"text":230,"entryType":12},{"buttonLink":375},[376],{"ariaLabel":9,"target":9,"url":239,"text":377,"entryType":12},"News & press",{"buttonLink":379},[380],{"ariaLabel":9,"target":9,"url":234,"text":235,"entryType":12},[382,392],{"asset":383},[384],{"type":27,"image":385,"mobileImage":391},[386],{"src":387,"alt":388,"width":389,"height":390},"https:\u002F\u002Fd191k2rrohvvg6.cloudfront.net\u002Fimages\u002FLogos\u002Flogo-meta-business-partner.svg","Meta Business Partner logo",81,36,[],{"asset":393},[394],{"type":27,"image":395,"mobileImage":401},[396],{"src":397,"alt":398,"width":399,"height":400},"https:\u002F\u002Fd191k2rrohvvg6.cloudfront.net\u002Fimages\u002FLogos\u002Flogo-google-partner.svg","Google Partner logo",87,61,[],[403,408,413],{"buttonLink":404},[405],{"ariaLabel":9,"target":9,"url":406,"text":407,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fprivacy-policy\u002F","Privacy Policy",{"buttonLink":409},[410],{"ariaLabel":9,"target":9,"url":411,"text":412,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Fleapus-csr-policy\u002F","Leapus CSR Policy",{"buttonLink":414},[415],{"ariaLabel":9,"target":9,"url":416,"text":417,"entryType":12},"https:\u002F\u002Fpixis.ai\u002Ffulfillment-policy\u002F","Pixis Fulfillment Policy","Pixis",{"uri":420,"id":421,"title":422,"url":423,"postDate":424,"dateUpdated":425,"slug":426,"sectionHandle":427,"type":428,"authors":429,"seo":445,"asset":455,"categories":463,"intro":9,"showBanner":274,"contentArea":469,"articleSelect":475,"schemaOrganization":9,"schemaWebsite":9,"schemaWebpage":9,"schemaBreadcrumb":9,"schemaArticle":9,"schemaFaq":9,"schemaSoftwareApp":9,"siteName":418},"blog\u002Fbfcm-hourly-reporting-template-track-spend-cpa-and-campaign-issues","43406","BFCM Hourly Reporting Template: Track Spend, CPA and Campaign Issues","https:\u002F\u002Fpixis.ai\u002Fblog\u002Fbfcm-hourly-reporting-template-track-spend-cpa-and-campaign-issues\u002F","2026-11-12T10:11:00-05:00","2026-11-12T10:11:52-05:00","bfcm-hourly-reporting-template-track-spend-cpa-and-campaign-issues","blog","blog_Entry",[430],{"fullName":431,"asset":432,"position":440,"bio":441,"linkedIn":442,"authorPage":444},"Bhavika Parlani",[433],{"type":27,"image":434,"mobileImage":439},[435],{"src":436,"alt":9,"width":437,"height":438},"https:\u002F\u002Fd191k2rrohvvg6.cloudfront.net\u002Fimages\u002FScreenshot-2026-06-22-at-7.03.56-PM.png",1500,1122,[],"Associate Product Marketing Manager","\u003Cp>Bhavika sits at the sweet spot between product, marketing, and storytelling. With a Master’s in Marketing from Alliance Manchester Business School, The University of Manchester, she brings experience across AI GTM, B2B SaaS, and product narratives. Her work focuses on making AI-led advertising products easier for performance teams to understand, evaluate, and use in a market that seems to change every other week. Bhavika is part of the Product Marketing team at Pixis.\u003C\u002Fp>",{"url":443},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fbhavika-parlani\u002F",[],{"title":446,"description":447,"advanced":448,"keywords":451,"social":452},"BFCM Hourly Reporting Template: Track Spend, CPA and Campaign Issues | Pixis","Build a BFCM hourly report with spend, CPA, data freshness, campaign exceptions, and shift handovers so your team knows what needs attention next.",{"canonical":449,"robots":450},"",[],[],{"facebook":453,"twitter":454},{"description":447,"title":446},{"description":447,"title":446},[456],{"type":27,"image":457,"mobileImage":462},[458],{"src":459,"alt":9,"width":460,"height":461},"https:\u002F\u002Fd191k2rrohvvg6.cloudfront.net\u002Fimages\u002FBFCM-Hourly-Reporting-Template_-Track-Spend-CPA-and-Campaign-Issues.png",1920,1360,[],[464,467],{"title":465,"slug":466},"Budget Management","budget",{"title":23,"slug":468},"prism",[470],{"blocks":471},[472],{"type":473,"textBlock":474},"textBlock_Entry","\u003Cp>The buyer taking over at 2 p.m. opens the latest report and sees two warnings: spending is ahead of plan, and one campaign's CPA is above target. Without the earlier reports, it is difficult to tell whether these are new problems, known issues, or numbers that have changed as purchases arrived.\u003C\u002Fp>\u003Cp>That uncertainty is what a useful BFCM hourly report should remove. It gives the team a consistent account summary, shows what changed since the previous check, and carries unresolved issues into the next shift with their evidence and owners attached.\u003C\u002Fp>\u003Cp>For 2026, the Thanksgiving-to-Cyber-Monday period runs November 26–30, with Black Friday on November 27. \u003C\u002Fp>\u003Cp>The template below is designed for teams monitoring active ecommerce campaigns across that window. It can be used in a reporting document, a spreadsheet, or a connected analysis workflow, provided the underlying data supports the required frequency.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Key takeaways\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cul>\u003Cli>Use the same report structure at every check: scope and freshness, spending position, purchase performance, exceptions, and next actions.\u003C\u002Fli>\u003Cli>Keep the last-hour delivery view separate from the longer window used to evaluate purchase efficiency.\u003C\u002Fli>\u003Cli>Retain previous snapshots so later conversions can revise a result without erasing what the buyer knew earlier.\u003C\u002Fli>\u003Cli>Give each open exception an owner and next review time, and carry it into the next report until resolved.\u003C\u002Fli>\u003Cli>Automate recurring report preparation, then verify the source refresh, delivery route, and failure handling before relying on it during BFCM.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>\u003Cstrong>Establish the references the report will use\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp>An hourly report should read from an approved plan rather than create a new one at each refresh. Before building it, confirm the campaign scope, reporting currency, account time zone, daily and event authorization, expected spending checkpoints, purchase definitions, and approved CPA or return targets.\u003C\u002Fp>\u003Cp>Keep the account identifiers alongside names so renamed or duplicated campaigns do not confuse the comparison. Record which version of the spending plan is current and who can approve a revision. When an allocation changes, update the reference so the next report compares delivery with the revised authorization.\u003C\u002Fp>\u003Cp>Use the\u003Ca href=\"https:\u002F\u002Fpixis.ai\u002Fblog\u002Fbfcm-budget-pacing-playbook\u002F\"> BFCM budget pacing playbook\u003C\u002Fa> to establish the spending curve and reserve rules. Where channel allocations are still being decided, the\u003Ca href=\"https:\u002F\u002Fpixis.ai\u002Fblog\u002Fcross-channel-bfcm-budgeting-how-to-split-spend-across-meta-google-and-tiktok\u002F\"> cross-channel BFCM budgeting guide\u003C\u002Fa> covers that decision separately.\u003C\u002Fp>\u003Cp>The hourly report then has a clear job: show what happened against those references and identify what requires attention.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Build the report in five blocks\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp>The report needs enough detail for a buyer to make an informed next step without opening every advertising account. Keep the account summary brief and expand the campaigns with exceptions or material changes.\u003C\u002Fp>\u003Ch3>\u003Cstrong>1. Scope and data freshness\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>Identify the report's account, campaigns, currency, time zone, run time, latest successful retrieval, and reporting periods. Where available, include the source's latest data timestamp or processing status. If that information is unavailable, state the limit rather than implying that a successful fetch proves all activity has arrived.\u003C\u002Fp>\u003Cp>This distinction matters because reporting metrics update at different rates.\u003Ca href=\"https:\u002F\u002Fsupport.google.com\u002Fgoogle-ads\u002Fanswer\u002F2544985?hl=en\"> Google's data-freshness guidance\u003C\u002Fa> describes an hourly freshness objective for most cost, click, and impression data, with possible delays. Conversion freshness varies by conversion type and attribution model, and other metrics can update less frequently.\u003C\u002Fp>\u003Cp>Use a reporting status such as \u003Cstrong>available\u003C\u002Fstrong>, \u003Cstrong>provisional\u003C\u002Fstrong>, or \u003Cstrong>unavailable\u003C\u002Fstrong> for the relevant block. Keep this separate from the campaign's action status: a campaign can be delivering normally while its reporting is incomplete.\u003C\u002Fp>\u003Ch3>\u003Cstrong>2. Spending position\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>Show day-to-date spend, event-to-date spend, the approved checkpoint, absolute and percentage variance, and the remaining authorization based on currently reported spend. Label that remainder as provisional when reporting delay could conceal additional delivery.\u003C\u002Fp>\u003Cp>For example, $5,200 reported against a $4,000 noon checkpoint is $1,200, or 30%, ahead. That observation belongs in the report even if purchase performance remains acceptable. Whether to release more money or adjust later allocations remains a separate approval decision.\u003C\u002Fp>\u003Cp>If using cumulative snapshots to estimate spending since the previous check, label it \u003Cstrong>change in reported spend since the last run\u003C\u002Fstrong>. Record the actual interval and remember that earlier costs can be revised. A negative change, missed run, or midnight reset needs reconciliation before it becomes a delivery conclusion.\u003C\u002Fp>\u003Ch3>\u003Cstrong>3. Purchase performance\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>Show purchase count, purchase value, CPA, and ROAS against their approved targets, with the source, attribution basis, and evaluation window visible. Keep the newest period explicitly provisional when appropriate.\u003C\u002Fp>\u003Cp>An hourly run does not require a one-hour CPA. A lower-volume campaign may need a longer evaluation window even though its spending is reviewed frequently. Use the account's conversion behavior, including\u003Ca href=\"https:\u002F\u002Fsupport.google.com\u002Fgoogle-ads\u002Fanswer\u002F9347065?hl=en\"> Google's conversion lag reporting\u003C\u002Fa> where relevant, to choose a defensible window and reassess it during the sale.\u003C\u002Fp>\u003Cp>Retain a separate store-level view if available, but do not silently substitute transaction-time store purchases into an interaction-date platform CPA. The two views can support different questions. The\u003Ca href=\"https:\u002F\u002Fpixis.ai\u002Fblog\u002Fhow-to-automate-ppc-reporting-across-google-meta-and-ga4\u002F\"> PPC reporting automation guide\u003C\u002Fa> covers the broader measurement definitions and reconciliation work.\u003C\u002Fp>\u003Ch3>\u003Cstrong>4. Exceptions and changes since the previous run\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>List new exceptions first, followed by continuing issues and resolved items. Include the account or campaign, observed result, comparison, evidence status, and any relevant change available to the workflow, such as a budget edit or destination update.\u003C\u002Fp>\u003Cp>Use a persistent issue reference so the same concern does not appear as a new incident every hour. Record whether it is new, acknowledged, under investigation, awaiting a recheck, or resolved. A worsening issue should remain eligible for escalation even when routine duplicate messages are suppressed.\u003C\u002Fp>\u003Ch3>\u003Cstrong>5. Actions, ownership, and next check\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>End with the owner, agreed response, action status, next review time, and unresolved dependencies. Distinguish a proposed action from an approved action and a verified execution; a recommendation to reduce a budget does not establish that delivery changed.\u003C\u002Fp>\u003Cp>If no material exception is found in the available data, report that outcome along with any missing inputs. A failed reporting run must not produce the same quiet result as a healthy account.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Copy this BFCM hourly reporting template\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp>Use one copy per account or clearly defined reporting scope. The fields below are the report's operating structure, not native fields guaranteed to exist in every platform or integration.\u003C\u002Fp>\u003Cp>\u003Cstrong>BFCM hourly report: [account \u002F campaign scope]\u003C\u002Fstrong>\u003Cbr \u002F>\u003Cstrong>Report identity:\u003C\u002Fstrong> [run ID], [generated time], [time zone], [currency].\u003Cbr \u002F>\u003Cstrong>Data status:\u003C\u002Fstrong> [latest successful retrieval], [source coverage if known], [missing or provisional inputs].\u003Cbr \u002F>\u003Cstrong>Plan reference:\u003C\u002Fstrong> [approved version], [current daily authorization], [event authorization].\u003C\u002Fp>\u003Cp>\u003Cstrong>Spending position\u003C\u002Fstrong>\u003Cbr \u002F>Day-to-date: [actual] against [checkpoint]. Variance: [amount] \u002F [percentage].\u003Cbr \u002F>Event-to-date: [reported spend]. Remaining authorization: [amount, subject to stated data limitations].\u003Cbr \u002F>Change in reported spend since previous run: [amount] over [actual interval].\u003C\u002Fp>\u003Cp>\u003Cstrong>Purchase performance\u003C\u002Fstrong>\u003Cbr \u002F>Evaluation window: [start–end], [date basis \u002F attribution settings].\u003Cbr \u002F>Purchases: [count]. Purchase value: [value and definition].\u003Cbr \u002F>CPA: [result] against [target]. ROAS: [result] against [target, if used].\u003Cbr \u002F>Evidence status: [provisional \u002F eligible for review under the account's defined criteria].\u003C\u002Fp>\u003Cp>\u003Cstrong>Exceptions\u003C\u002Fstrong>\u003Cbr \u002F>[Issue reference]: [campaign], [new \u002F continuing \u002F resolved], [observed result], [reason for attention], [missing evidence].\u003C\u002Fp>\u003Cp>\u003Cstrong>Response and handover\u003C\u002Fstrong>\u003Cbr \u002F>Owner: [role or person]. Action: [proposed \u002F approved \u002F executed \u002F verified].\u003Cbr \u002F>Next check: [time and purpose]. Escalation: [backup owner or dependency].\u003Cbr \u002F>Changes since previous report: [setting, approval, time, verification].\u003C\u002Fp>\u003Cp>Keep the headline report focused on decisions. Store detailed campaign results and source evidence with it so a buyer can investigate without copying every available metric into the summary.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Read two successive reports without inventing a performance change\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp>Consider a hypothetical account with a $10,000 Friday authorization and a $35 CPA target for the campaign being examined. At noon, the approved account checkpoint is $4,000.\u003C\u002Fp>\u003Cp>The 12:05 report shows $5,200 in day-to-date account spend, so the account is $1,200 ahead. Within it, Campaign A's fixed 06:00–10:00 evaluation window shows $900 and 18 purchases: a reported $50 CPA. Its recent conversion data is still provisional.\u003C\u002Fp>\u003Cp>The report opens two distinct issues: a spending review for the account and a provisional purchase-performance observation for Campaign A. The buyer checks the campaign's measurement and buying journey, records the pending conversion reassessment, and reviews spending exposure without treating the provisional CPA as a proven efficiency failure.\u003C\u002Fp>\u003Cp>At 13:05, account spend is $6,400 against the revised hour's original-plan checkpoint of $5,500. It is now $900, approximately 16.4%, ahead. The change in reported day-to-date spend is $1,200 over the hour between snapshots, subject to possible cost revisions.\u003C\u002Fp>\u003Cp>For Campaign A's same 06:00–10:00 window, spend remains $900 but reported purchases have risen to 30. CPA is now $30. The report should say that the \u003Cstrong>earlier window was revised as purchases arrived\u003C\u002Fstrong>, rather than claiming the latest hour suddenly became more efficient.\u003C\u002Fp>\u003Cp>The buyer can close the above-target CPA observation for that fixed window while retaining its history and continuing the normal review. The account's pacing issue remains open because its separate spending variance has not disappeared. Good conversion results do not automatically authorize more money.\u003C\u002Fp>\u003Cp>This example is why every report needs both its evaluation window and its snapshot time. Without them, a handover can mistake reporting changes for new delivery outcomes.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Turn the exception into a message someone can act on\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp>The full report is the reference; a notification should carry the specific issue and enough context to route it. Link back to the run or conversation containing its evidence.\u003C\u002Fp>\u003Ch3>\u003Cstrong>Fast spending with acceptable reported purchase performance\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>\u003Cstrong>Spending review required: Account A\u003C\u002Fstrong>\u003Cbr \u002F>Run: November 27, 13:05, account time zone. Latest retrieval succeeded; recent figures remain subject to platform updates.\u003Cbr \u002F>Reported spend: $6,400 against $5,500 planned, $900 \u002F 16.4% ahead. Daily authorization: $10,000.\u003Cbr \u002F>Campaign A's 06:00–10:00 CPA has revised to $30 against $35; that does not change spending authority.\u003Cbr \u002F>Owner: covering media buyer. Review remaining exposure and obtain approval for any plan revision. No campaign change executed by this report.\u003C\u002Fp>\u003Cp>The message gives the buyer the observation and decision needed without reproducing the pacing strategy. Use the existing\u003Ca href=\"https:\u002F\u002Fpixis.ai\u002Fblog\u002Fcatch-ad-spend-anomalies-before-they-burn-budget\u002F\"> ad-spend anomaly guide\u003C\u002Fa> for deeper detection and threshold design.\u003C\u002Fp>\u003Ch3>\u003Cstrong>A CPA exception that meets the account's review criteria\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>\u003Cstrong>Purchase-efficiency review: Campaign B\u003C\u002Fstrong>\u003Cbr \u002F>Evaluation window: [fixed period and attribution basis].\u003Cbr \u002F>Spend: $1,800. Purchases: 40. CPA: $45 against $35, approximately 28.6% above target.\u003Cbr \u002F>The window meets the team's configured evidence requirements; conversion completeness and recent changes need review.\u003Cbr \u002F>Owner: assigned buyer. Next check: [time]. Supporting report: [run reference].\u003C\u002Fp>\u003Cp>Define those evidence requirements before the sale and keep them attached to the reporting configuration. They are account-specific operating criteria, not a guarantee of statistical certainty. A separate spend-without-purchases condition is necessary so a minimum-purchase gate does not conceal a zero-purchase case.\u003C\u002Fp>\u003Cp>When purchases are zero, show CPA as undefined and report spend, period, and data status explicitly. Do not display a reassuring zero CPA or assume a purchase-event outage from the ratio alone.\u003C\u002Fp>\u003Ch3>\u003Cstrong>A report that cannot assess the account\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>\u003Cstrong>Reporting unavailable: Account C\u003C\u002Fstrong>\u003Cbr \u002F>Scheduled run: 14:05. Retrieval failed; last successful result: 12:05.\u003Cbr \u002F>Current spending and CPA have not been assessed. Previous figures are retained with their timestamp.\u003Cbr \u002F>Owner: reporting support. Backup buyer to check material exposure in the source account. Next update: [time].\u003C\u002Fp>\u003Cp>This failure message should be operationally distinct from “no exceptions found.” Where budgets create material exposure, the backup process needs to work even when the reporting workflow itself is unavailable.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Use diagnosis to complete the report, then link to the action framework\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp>After an exception is acknowledged, add the evidence that explains the response. Record whether data was incomplete, a setting changed, product mix shifted, or an operational issue was confirmed. Include uncertainties where the cause remains unresolved.\u003C\u002Fp>\u003Cp>Traffic-cost and purchase-conversion metrics can help identify where to investigate, but the hourly report does not need to repeat the full optimization playbook. The\u003Ca href=\"https:\u002F\u002Fpixis.ai\u002Fblog\u002Freal-time-budget-optimization-how-teams-prevent-roas-drift-before-it-shows-up-in-the-weekly-report\u002F\"> real-time budget optimization guide\u003C\u002Fa> covers the broader monitoring and response framework.\u003C\u002Fp>\u003Cp>For each issue, finish with a clear status: awaiting further data, investigation assigned, approved change pending, execution verified, or resolved. Keeping that sequence visible prevents the next buyer from repeating an edit or assuming someone else already performed it.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Set up recurring report preparation in Prism\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp>\u003Ca href=\"https:\u002F\u002Fpixis.ai\u002Fproducts\u002Fprism\u002F\">Pixis Prism\u003C\u002Fa> supports conversational campaign analysis, while\u003Ca href=\"https:\u002F\u002Fprism-docs.pixis.ai\u002Fscheduled-workflows\"> Scheduled Workflows\u003C\u002Fa> run defined analysis prompts against a selected account and agent and produce conversations for review. Build the intended report in a conversation first, checking that the output uses the correct campaign scope, periods, definitions, and plan reference.\u003C\u002Fp>\u003Cp>Once the analysis is reliable,\u003Ca href=\"https:\u002F\u002Fprism-docs.pixis.ai\u002Fscheduled-workflows\u002Fcreating-workflows\"> create a workflow from the conversation\u003C\u002Fa> or configure it from the Workflows page. Confirm the supported recurrence and notification path for your actual setup before relying on an hourly requirement. Automating report preparation reduces repeated manual checks; owners still review the exceptions and approve consequential decisions.\u003C\u002Fp>\u003Ch3>\u003Cstrong>Use a reporting brief that preserves the distinctions\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>Prepare the BFCM report for the specified account and campaigns using the approved template and current plan reference. Show run time, retrieval status, and data coverage where available. Keep day-to-date spending separate from the purchase-evaluation window. Identify new, continuing, and resolved exceptions, describing revisions to earlier periods explicitly. Return supporting figures, missing evidence, owners, and next checks. Flag unavailable inputs rather than substituting zero. This workflow prepares the report and proposes investigations; it does not execute campaign changes.\u003C\u002Fp>\u003Cp>Supply the approved plan, thresholds, issue history, and ownership through inputs supported by the implementation. Validate how the next run receives revisions and open issues; naming a field in a prompt does not establish a persistent issue-tracking integration.\u003C\u002Fp>\u003Ch3>\u003Cstrong>Verify the refresh behind the schedule\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>A workflow can run regularly while its source remains unchanged. Prism's\u003Ca href=\"https:\u002F\u002Fprism-docs.pixis.ai\u002Fcampaign-portfolio\u002Fdata-synchronization\"> Campaign Portfolio synchronization documentation\u003C\u002Fa> describes manual and scheduled daily synchronization, so a daily portfolio snapshot should not be assumed to support fresh hourly assessment.\u003C\u002Fp>\u003Cp>Confirm what the selected analysis retrieves, which periods and breakdowns are available, and what additional supported reporting connection is needed if the requirement cannot be met by that source. Keep source coverage visible in the report rather than promising a freshness the implementation cannot verify.\u003C\u002Fp>\u003Cp>Use\u003Ca href=\"https:\u002F\u002Fprism-docs.pixis.ai\u002Fscheduled-workflows\u002Fexecution-history\"> Execution History\u003C\u002Fa> to inspect runs and their resulting conversations, and test how missing or failed runs reach an owner. Producing a conversation and delivering an external notification are separate steps to verify.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Hand over the account without handing over uncertainty\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp>At the end of a shift, the covering buyer should not need to read every hourly report. Provide the latest dependable summary and a short account of the open decisions.\u003C\u002Fp>\u003Cp>\u003Cstrong>BFCM handover: [account], [time and time zone]\u003C\u002Fstrong>\u003Cbr \u002F>Last successful report: [run reference]. Source limitations: [details].\u003Cbr \u002F>Current plan: [version]. Reported event spend: [amount]. Remaining authority: [amount, with data caveats].\u003Cbr \u002F>Open issues: [reference, owner, status, evidence, next check].\u003Cbr \u002F>Changes made this shift: [setting, time, approval, execution verification].\u003Cbr \u002F>Next scheduled event: [email, offer change, launch, or closing time].\u003Cbr \u002F>Escalation contact: [primary and backup].\u003C\u002Fp>\u003Cp>Include recent edits even when results look healthy, since the next buyer needs to know what is still being evaluated. Keep pending decisions explicit: a proposed reduction, an approved allocation, and a completed change are different states.\u003C\u002Fp>\u003Cp>If an issue is resolved, retain the closure evidence and time. This allows the team to distinguish a recurring failure from an old alert that simply reappeared in a new report.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Rehearse the complete reporting cycle before Thanksgiving\u003C\u002Fstrong>\u003C\u002Fh2>\u003Cp>Test the template using labeled historical or hypothetical records. Include late conversions that revise a fixed window, a fresh spend variance, a zero-purchase result, a missed run, a revised plan, and the account's midnight boundary.\u003C\u002Fp>\u003Cp>Check that the report does not label a revised historical CPA as a new hourly improvement, add overlapping windows together, or treat failed retrieval as healthy delivery. Confirm that acknowledged issues carry forward with their owner and that material deterioration remains visible.\u003C\u002Fp>\u003Cp>Then test the handoff from report to notification to buyer acknowledgment. Verify that the recipient can open the evidence and knows where to record the response. This rehearsal should establish whether another person can use the report without reconstructing its assumptions.\u003C\u002Fp>\u003Cp>After BFCM, review which reports led to decisions, which exceptions were missed, and which messages created unnecessary work. Preserve the useful fields and examples so the next promotion starts with a tested reporting process.\u003C\u002Fp>\u003Cp>\u003Ca href=\"https:\u002F\u002Fpixis.ai\u002Fproducts\u002Fprism\u002F\">Explore Pixis Prism\u003C\u002Fa> to discuss the recurring campaign analysis and reporting workflow your team needs for BFCM.\u003C\u002Fp>\u003Ch2>\u003Cstrong>Frequently asked questions\u003C\u002Fstrong>\u003C\u002Fh2>\u003Ch3>\u003Cstrong>What should a BFCM hourly report include?\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>Account scope, time zone, data status, actual versus planned spending, purchase performance over a defined window, open exceptions, owners, and next checks. Keep its source and plan references visible so successive reports remain comparable.\u003C\u002Fp>\u003Ch3>\u003Cstrong>Should CPA be calculated for the latest hour?\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>Only when the account's volume and reporting behavior make that view useful. Hourly reporting can combine a short delivery view with a longer purchase-evaluation window, labeling recent results as provisional.\u003C\u002Fp>\u003Ch3>\u003Cstrong>How should late conversions appear in the next report?\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>Retain the original snapshot and identify the revised figures against the same evaluation window. Explain that the earlier period changed as additional data arrived, rather than describing it as the latest hour's performance.\u003C\u002Fp>\u003Ch3>\u003Cstrong>What should a failed reporting run show?\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>Mark the current assessment unavailable, retain previous figures with their timestamps, and notify the appropriate owner. A failed run must remain distinct from a successful run that found no material exceptions.\u003C\u002Fp>\u003Ch3>\u003Cstrong>Can Prism prepare recurring reports?\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>Scheduled Workflows support repeated account analysis with results recorded in conversations and execution history. Confirm the cadence, source refresh, external notification route, and required inputs in the actual setup before relying on an hourly process.\u003C\u002Fp>\u003Ch3>\u003Cstrong>Does an exception message authorize a budget change?\u003C\u002Fstrong>\u003C\u002Fh3>\u003Cp>No. It identifies an observation requiring review. Keep the proposed response, approval, execution, and verification visible as separate stages under the team's operating process.\u003C\u002Fp>",[],{"blogBanner":477},{"bannerIcon":478,"bannerBrandName":483,"bannerHeading":488,"bannerCta1Text":489,"bannerCta1Url":79,"bannerCta2Text":490,"bannerCta2Url":259},[479],{"url":480,"title":481,"width":482,"height":482},"https:\u002F\u002Fd191k2rrohvvg6.cloudfront.net\u002Fimages\u002Fv-logo.svg","V logo",78,[484],{"url":485,"title":486,"width":487,"height":60},"https:\u002F\u002Fd191k2rrohvvg6.cloudfront.net\u002Fimages\u002Fvisibility-logo.svg","Visibility logo",191,"Increase your visibility on Google and AI search","Book a demo","Signup for free",1794496693803]