[{"data":1,"prerenderedAt":940},["ShallowReactive",2],{"post-\u002Fen\u002Fblog\u002Fwhat-a-season-teaches-about-next-year":3,"post-siblings-en":211},{"id":4,"title":5,"authors":6,"badge":12,"body":14,"date":187,"description":188,"extension":189,"image":190,"meta":192,"navigation":200,"path":206,"readTime":207,"seo":208,"stem":209,"__hash__":210},"posts_en\u002Fen\u002Fblog\u002F37.what-a-season-teaches-about-next-year.md","Three findings to take from one season into planning the next",[7],{"name":8,"to":9,"avatar":10},"The Flowfy team","https:\u002F\u002Ftryflowfy.com",{"src":11},"\u002Fbrand\u002Fsymbol\u002Fflowfy-symbol-512.png",{"label":13},"Seasons",{"type":15,"value":16,"toc":176},"minimark",[17,21,24,29,32,44,47,51,54,57,73,76,80,83,86,89,93,99,105,111,115,118,138,141,145,151,157,163,169,173],[18,19,20],"p",{},"A season gets treated as an event to survive, then a number to report. It's also the densest week of behavioural data you'll collect all year, and almost none of it gets used.",[18,22,23],{},"The idea here is a single one: the season is an experiment you already paid to run, and it produces three findings worth carrying into next year's plan.",[25,26,28],"h2",{"id":27},"finding-one-which-channels-open-a-journey-and-which-close-it","Finding one: which channels open a journey and which close it",[18,30,31],{},"Ordinary months make this hard to see, because journeys stretch over weeks and overlap. A season compresses them. A customer often discovers, considers and buys inside 72 hours, so the whole path sits in one window you can actually read.",[18,33,34,35,39,40,43],{},"Look at orders where a channel was the ",[36,37,38],"strong",{},"first"," touch against orders where it was the ",[36,41,42],{},"last",". The difference between those two counts tells you which channels do the discovery work in your store.",[18,45,46],{},"That finding changes the shape of next year's budget more than any creative decision, because the channel that opens most journeys is the one that looks worst on last click, and it's the first thing cut when budget tightens.",[25,48,50],{"id":49},"finding-two-how-long-your-buying-cycle-actually-is","Finding two: how long your buying cycle actually is",[18,52,53],{},"The gap between first touch and purchase, measured across a full season, tells you whether your customers decide in hours or in weeks. No external benchmark can give you that number for your own store.",[18,55,56],{},"It has two direct consequences:",[58,59,60,67],"ul",{},[61,62,63,66],"li",{},[36,64,65],{},"Your attribution window."," If a meaningful share of season orders trace back to touches that happened before the season started, a 7-day window was erasing them all year.",[61,68,69,72],{},[36,70,71],{},"When to start spending."," Most stores find their season begins earlier than their campaigns do, and that the lift started before the launch they credit for it.",[18,74,75],{},"Touchpoint journeys and first-touch versus last-touch comparison are live in Flowfy today on a 90-day attribution window, which is what makes the first two findings readable at all. Period comparison and season shading are on the roadmap and haven't shipped, so comparing this season against last year's currently means selecting both ranges yourself.",[25,77,79],{"id":78},"finding-three-where-your-measurement-is-thin","Finding three: where your measurement is thin",[18,81,82],{},"Every season exposes at least one failure: a destination that went quiet, a theme change that dropped events, or a channel whose orders all landed in the direct bucket.",[18,84,85],{},"The failure itself isn't the finding. The finding is how many days it took to notice, because that same number applies next season while you're spending more.",[18,87,88],{},"Write it down while it's fresh, along with the destination or template that caused it. Note what made you notice, too: a weekly report, someone spotting a sales dip, or the daily check. Whatever caught it this time is what will catch it next time, and if that was a weekly report you already know your detection window is seven days.",[25,90,92],{"id":91},"three-conclusions-not-to-draw","Three conclusions not to draw",[18,94,95,98],{},[36,96,97],{},"\"This channel works, that one doesn't.\""," Season performance is a weak predictor of ordinary-month performance. Costs, competition and intent all differ. A channel that carries a season can be mediocre in February and still worth keeping for four weeks a year.",[18,100,101,104],{},[36,102,103],{},"\"The discount depth was right because revenue rose.\""," Revenue rises in a season regardless. The pull-forward test, meaning the four weeks after, this year against last, is what settles that question.",[18,106,107,110],{},[36,108,109],{},"\"Let's repeat it exactly.\""," Ramadan moves about 11 days each year. Copying last year's calendar dates is how a store repeats a plan against a different season.",[25,112,114],{"id":113},"what-to-carry-into-next-year","What to carry into next year",[18,116,117],{},"Three lines in the readout, and one in the calendar:",[119,120,121,124,127,130],"ol",{},[61,122,123],{},"Which channels opened journeys, with the first-touch versus last-touch difference",[61,125,126],{},"The typical first-touch-to-purchase gap, in days",[61,128,129],{},"What broke, and how many days it took to notice",[61,131,132,133],{},"A calendar reminder four weeks before next year's season, pointing at ",[134,135,137],"a",{"href":136},"\u002Fen\u002Fblog\u002Fwhite-friday-preparation","the pre-season checks",[18,139,140],{},"That's the whole carry-forward. It fits on one screen, and it gets opened during planning instead of filed in a deck.",[25,142,144],{"id":143},"common-questions","Common questions",[18,146,147,150],{},[36,148,149],{},"Is a season representative enough to learn from?","\nFor journey shape and buying cycle, yes. For channel cost efficiency, no, because season costs aren't ordinary-month costs.",[18,152,153,156],{},[36,154,155],{},"When should I run this analysis?","\nAfter the four-week pull-forward window, alongside the final readout.",[18,158,159,162],{},[36,160,161],{},"What if this was our first season with proper tracking?","\nThen it's your baseline. The most useful thing you can do is write it down clearly enough for next year to compare against.",[18,164,165,168],{},[36,166,167],{},"Does it apply to short seasons like Eid?","\nYes, and more clearly. The compression is greater, so journey shape is easier to read.",[25,170,172],{"id":171},"take-this-with-you","Take this with you",[18,174,175],{},"The first thing to do after the readout: compare first touch against last touch on your season orders. If the difference is large on a channel, don't cut that channel on last-click numbers before next year's season.",{"title":177,"searchDepth":178,"depth":178,"links":179},"",2,[180,181,182,183,184,185,186],{"id":27,"depth":178,"text":28},{"id":49,"depth":178,"text":50},{"id":78,"depth":178,"text":79},{"id":91,"depth":178,"text":92},{"id":113,"depth":178,"text":114},{"id":143,"depth":178,"text":144},{"id":171,"depth":178,"text":172},"2027-04-17","A season compresses a year of buying behaviour into days. That makes it the cheapest place to learn which channels open journeys, how long your buying cycle really is, and where your measurement is thin.","md",{"src":191},"\u002Fblog\u002Fwhat-a-season-teaches-about-next-year-en.png",{"cover":193},{"kind":194,"caption":195,"series":196},"timeline","A season compresses the whole journey into 72 hours",[197,201,203],{"label":198,"note":199,"mark":200},"Discovery","First touch",true,{"label":202},"Consideration",{"label":204,"note":205},"Purchase","Last touch","\u002Fen\u002Fblog\u002Fwhat-a-season-teaches-about-next-year",3,{"title":5,"description":188},"en\u002Fblog\u002F37.what-a-season-teaches-about-next-year","BqputETs9p1UAH9Gxp5s3bGyBy8BQ2fJezLfwV7PFOc",[212,221,229,238,246,254,262,270,278,286,294,302,310,319,327,335,343,351,360,368,376,384,392,400,408,416,425,433,441,449,457,465,473,481,489,497,505,513,521,529,537,545,553,561,569,577,585,593,601,609,617,625,633,641,649,657,665,673,681,689,692,700,708,716,723,731,739,747,755,763,771,779,787,795,803,811,819,827,835,843,851,859,867,875,883,891,899,907,915,923,931],{"path":213,"title":214,"description":215,"image":216,"badge":218,"date":220,"readTime":207},"\u002Fen\u002Fblog\u002Fexclusion-audiences-first","Why you pay to reach people who already bought","12% of a retargeting audience has already bought, and their share of the budget is 2,400 SAR a month. The waste never shows up as a loss anywhere, which is why it runs for years. Here's the arithmetic and the exclusions to run.",{"src":217},"\u002Fblog\u002Fexclusion-audiences-first-en.png",{"label":219},"Growth","2028-07-22",{"path":222,"title":223,"description":224,"image":225,"badge":227,"date":228,"readTime":207},"\u002Fen\u002Fblog\u002Fcohorts-and-the-time-dimension","Why your repeat rate falls every time you grow","A blended repeat rate mixes a customer of three weeks with a customer of two years. Grouping people by when they arrived turns a static number into a curve you can act on. Here's the idea and three objections to it.",{"src":226},"\u002Fblog\u002Fcohorts-and-the-time-dimension-en.png",{"label":219},"2028-07-15",{"path":230,"title":231,"description":232,"image":233,"badge":235,"date":237,"readTime":207},"\u002Fen\u002Fblog\u002Fpayment-methods-are-a-margin-decision","How to work out which payment method earns you more","Deferred payment carries higher fees and a bigger basket. Which of those wins is an arithmetic question, and most stores answer it with an opinion. Here's the maths on a hundred orders, and six steps to run it on your data.",{"src":234},"\u002Fblog\u002Fpayment-methods-are-a-margin-decision-en.png",{"label":236},"Profit","2028-07-08",{"path":239,"title":240,"description":241,"image":242,"badge":244,"date":245,"readTime":207},"\u002Fen\u002Fblog\u002Fbudget-fit-and-payment-methods","When to reallocate budget instead of launching a campaign","A new campaign costs creative, setup, a learning phase and budget. Moving money you already spend costs an afternoon. Here's the check that tells you how many riyals are sitting in the wrong place.",{"src":243},"\u002Fblog\u002Fbudget-fit-and-payment-methods-en.png",{"label":236},"2028-07-01",{"path":247,"title":248,"description":249,"image":250,"badge":252,"date":253,"readTime":207},"\u002Fen\u002Fblog\u002Fthe-four-costs-missing-from-your-ad-report","Four costs missing from every ad report","Your ad platform knows what you spent on ads, and that's all. Cost of goods, shipping, gateway fees and returns come out of the same revenue and can flip your campaign ranking.",{"src":251},"\u002Fblog\u002Fthe-four-costs-missing-from-your-ad-report-en.png",{"label":236},"2028-06-24",{"path":255,"title":256,"description":257,"image":258,"badge":260,"date":261,"readTime":178},"\u002Fen\u002Fblog\u002Fthe-denominator-problem","Four denominators that make your metrics read wrong","Every efficiency metric is a division, and the argument about one is usually an argument about the bottom half. Here are four denominators that are wrong in most stores, and how to check them.",{"src":259},"\u002Fblog\u002Fthe-denominator-problem-en.png",{"label":236},"2028-06-17",{"path":263,"title":264,"description":265,"image":266,"badge":268,"date":269,"readTime":207},"\u002Fen\u002Fblog\u002Frepeat-purchase-journeys","What the second purchase journey looks like","The second order has its own journey and its own channels, and it's the cheapest revenue you have. Here's the arithmetic, and the time gap that decides when to act.",{"src":267},"\u002Fblog\u002Frepeat-purchase-journeys-en.png",{"label":219},"2028-06-10",{"path":271,"title":272,"description":273,"image":274,"badge":276,"date":277,"readTime":178},"\u002Fen\u002Fblog\u002Fassist-campaigns-and-repeat-journeys","How to spot the campaign that assists but never closes","A campaign that appears in many journeys and closes few looks weak in the default report. Here's a two-number test, and the three objections you'll hear when you defend it.",{"src":275},"\u002Fblog\u002Fassist-campaigns-and-repeat-journeys-en.png",{"label":219},"2028-06-03",{"path":279,"title":280,"description":281,"image":282,"badge":284,"date":285,"readTime":178},"\u002Fen\u002Fblog\u002Foptimising-elements-not-ads","When element-level analysis works and when it breaks","Grouping ads by a shared element grows the sample and shrinks the variance. But the method breaks in three situations. Here's the mechanism, the situations, and how to avoid them.",{"src":283},"\u002Fblog\u002Foptimising-elements-not-ads-en.png",{"label":219},"2028-05-27",{"path":287,"title":288,"description":289,"image":290,"badge":292,"date":293,"readTime":178},"\u002Fen\u002Fblog\u002Freading-arabic-ad-creative","How to tell which element of your ad actually worked","Ranking creatives by ROAS tells you which ones to keep running. It doesn't tell you what to make next. Here's the arithmetic that gets that answer out of the same twelve ads.",{"src":291},"\u002Fblog\u002Freading-arabic-ad-creative-en.png",{"label":219},"2028-05-20",{"path":295,"title":296,"description":297,"image":298,"badge":300,"date":301,"readTime":178},"\u002Fen\u002Fblog\u002Fcustom-ranges-that-answer-a-question","Pick the report period from the question, not the default","Last 7 days, last 30 days, this month. All three were chosen for convenience, not for a question. Here's how to pick the range from the question you actually have.",{"src":299},"\u002Fblog\u002Fcustom-ranges-that-answer-a-question-en.png",{"label":13},"2028-05-13",{"path":303,"title":304,"description":305,"image":306,"badge":308,"date":309,"readTime":178},"\u002Fen\u002Fblog\u002Fperiod-comparison-and-season-shading","Which period comparison to use when your seasons move","Every tool defaults to previous period. That default answers a different question than the one in your head. Here are the three comparisons, and which one judges performance.",{"src":307},"\u002Fblog\u002Fperiod-comparison-and-season-shading-en.png",{"label":13},"2028-05-06",{"path":311,"title":312,"description":313,"image":314,"badge":316,"date":318,"readTime":178},"\u002Fen\u002Fblog\u002Fbudget-distribution-checks","How to move budget between channels without losing the gain","The distribution check tells you there's an opportunity. Moving it all at once eats most of it. Here are three execution rules, and what to watch afterwards.",{"src":315},"\u002Fblog\u002Fbudget-distribution-checks-en.png",{"label":317},"Analytics","2028-04-29",{"path":320,"title":321,"description":322,"image":323,"badge":325,"date":326,"readTime":178},"\u002Fen\u002Fblog\u002Fpaying-creators-on-measured-orders","Why discount codes pick the wrong creator","A code counts who remembered to type it at checkout. A tracked link counts who actually bought because of the post. Here's the gap in numbers, and what to settle on instead.",{"src":324},"\u002Fblog\u002Fpaying-creators-on-measured-orders-en.png",{"label":219},"2028-04-22",{"path":328,"title":329,"description":330,"image":331,"badge":333,"date":334,"readTime":178},"\u002Fen\u002Fblog\u002Facquisition-products-versus-retention-products","Products that bring customers and products that keep them","Two products with the same revenue can need opposite budgets. One buys you new customers, the other is why they come back. Revenue alone doesn't tell them apart.",{"src":332},"\u002Fblog\u002Facquisition-products-versus-retention-products-en.png",{"label":317},"2028-04-15",{"path":336,"title":337,"description":338,"image":339,"badge":341,"date":342,"readTime":178},"\u002Fen\u002Fblog\u002Fcommercial-alert-detectors","The budget split check, and three other commercial checks","Tracking is fine and the money is going to the wrong place. That's the more common case, and it doesn't surface as an error anywhere. Here's the check, with the arithmetic.",{"src":340},"\u002Fblog\u002Fcommercial-alert-detectors-en.png",{"label":317},"2028-04-08",{"path":344,"title":345,"description":346,"image":347,"badge":349,"date":350,"readTime":207},"\u002Fen\u002Fblog\u002Falert-fatigue","How to stop your team from muting the alert channel","The danger isn't the late alert. It's alerts arriving often enough that someone mutes the channel, at which point every detector behind it stops. Here are three rules and three alerts to start with.",{"src":348},"\u002Fblog\u002Falert-fatigue-en.png",{"label":317},"2028-04-01",{"path":352,"title":353,"description":354,"image":355,"badge":357,"date":359,"readTime":207},"\u002Fen\u002Fblog\u002Ftracking-health-detectors","Six ways tracking breaks, and how to check each one","Tracking doesn't fail in unlimited ways. It fails in about six, and each one has a fingerprint. Here are the six, and the check to run if you only have time for one.",{"src":356},"\u002Fblog\u002Ftracking-health-detectors-en.png",{"label":358},"Tracking","2028-03-25",{"path":361,"title":362,"description":363,"image":364,"badge":366,"date":367,"readTime":178},"\u002Fen\u002Fblog\u002Fsharing-an-analysis-without-a-screenshot","What you lose when you share an analysis as a screenshot","A screenshot carries the number without its date range or its filters. A month later nobody can check it. Here's what to share instead.",{"src":365},"\u002Fblog\u002Fsharing-an-analysis-without-a-screenshot-en.png",{"label":317},"2028-02-26",{"path":369,"title":370,"description":371,"image":372,"badge":374,"date":375,"readTime":207},"\u002Fen\u002Fblog\u002Fsaved-views-and-custom-dashboards","Four minutes a day spent setting filters","Four minutes sounds cheap. Multiply it by three people and a full year and it comes to more than a working week. The hours are the cheap part of the cost.",{"src":373},"\u002Fblog\u002Fsaved-views-and-custom-dashboards-en.png",{"label":317},"2028-02-19",{"path":377,"title":378,"description":379,"image":380,"badge":382,"date":383,"readTime":207},"\u002Fen\u002Fblog\u002Freports-built-to-be-printed","Why nobody opens your weekly report","The problem isn't a shortage of reports. The report was written to prove coverage rather than produce a decision. Here's the difference between the two shapes, and the four things a useful report contains.",{"src":381},"\u002Fblog\u002Freports-built-to-be-printed-en.png",{"label":317},"2028-02-12",{"path":385,"title":386,"description":387,"image":388,"badge":390,"date":391,"readTime":207},"\u002Fen\u002Fblog\u002Fspend-and-revenue-on-one-ruler","How to measure spend and revenue with the same ruler","Return is a ratio between two numbers. If the two are calculated in different ways, the result isn't a rate. Here are four ways the sum breaks, and the rule that fixes it.",{"src":389},"\u002Fblog\u002Fspend-and-revenue-on-one-ruler-en.png",{"label":317},"2028-02-05",{"path":393,"title":394,"description":395,"image":396,"badge":398,"date":399,"readTime":178},"\u002Fen\u002Fblog\u002Fcampaign-performance-dashboard","What belongs on the screen you open every morning","The daily screen has one job: tell you where the next riyal goes. Here are the three things it needs, and three objections you'll hear when you remove the rest.",{"src":397},"\u002Fblog\u002Fcampaign-performance-dashboard-en.png",{"label":317},"2028-01-29",{"path":401,"title":402,"description":403,"image":404,"badge":406,"date":407,"readTime":207},"\u002Fen\u002Fblog\u002Fsegments-you-can-act-on-today","Three customer segments to build this week","A segmentation earns its time only if it ends in a list you'd act on. Three lists pass that test at most stores, and the first one saves money the day you upload it.",{"src":405},"\u002Fblog\u002Fsegments-you-can-act-on-today-en.png",{"label":317},"2028-01-22",{"path":409,"title":410,"description":411,"image":412,"badge":414,"date":415,"readTime":178},"\u002Fen\u002Fblog\u002Fcustomer-segments","Read the distribution, not the average customer","An average blends someone who bought once with someone who came back four times. Here's the distribution behind it, and the one sort that changes how you set acquisition budget.",{"src":413},"\u002Fblog\u002Fcustomer-segments-en.png",{"label":317},"2028-01-15",{"path":417,"title":418,"description":419,"image":420,"badge":422,"date":424,"readTime":178},"\u002Fen\u002Fblog\u002Fsettling-attribution-arguments","How to settle an attribution argument by opening one order","Most arguments about channel performance aren't arguments about data. Identify the type first, because only one of the three is settled by opening a record.",{"src":421},"\u002Fblog\u002Fsettling-attribution-arguments-en.png",{"label":423},"Attribution","2028-01-08",{"path":426,"title":427,"description":428,"image":429,"badge":431,"date":432,"readTime":207},"\u002Fen\u002Fblog\u002Fexplaining-every-attribution","A number nobody can explain is a number nobody uses","An 890 SAR order credited to a channel you didn't spend on this month. If you can't explain why, that number dies and takes every other figure from the same source with it.",{"src":430},"\u002Fblog\u002Fexplaining-every-attribution-en.png",{"label":423},"2028-01-01",{"path":434,"title":435,"description":436,"image":437,"badge":439,"date":440,"readTime":207},"\u002Fen\u002Fblog\u002Fwhat-a-channel-absence-costs","How to find out how many orders you lose if a channel stops","No attribution model answers this question. The only method is a holdout, and it costs real money. Here's how to design one and which channel deserves it.",{"src":438},"\u002Fblog\u002Fwhat-a-channel-absence-costs-en.png",{"label":423},"2027-12-25",{"path":442,"title":443,"description":444,"image":445,"badge":447,"date":448,"readTime":207},"\u002Fen\u002Fblog\u002Fhighest-impact-touchpoints","Why how often a channel appears doesn't measure its contribution","A channel appearing in 620 of 1,000 paths looks indispensable. The number that matters is how many paths it closed on its own, and that's a different calculation.",{"src":446},"\u002Fblog\u002Fhighest-impact-touchpoints-en.png",{"label":423},"2027-12-18",{"path":450,"title":451,"description":452,"image":453,"badge":455,"date":456,"readTime":178},"\u002Fen\u002Fblog\u002Ffunnel-by-source","Read your funnel by source before you redesign checkout","The blended number says your problem is checkout. Split by source and it says the problem sits in one kind of traffic, and the fix is a completely different one.",{"src":454},"\u002Fblog\u002Ffunnel-by-source-en.png",{"label":317},"2027-12-11",{"path":458,"title":459,"description":460,"image":461,"badge":463,"date":464,"readTime":207},"\u002Fen\u002Fblog\u002Fdirection-beats-the-number","Four checks before you act on a trend","A channel dropped this week. Before you move its budget, there are four things to confirm, because ordinary variance and broken tracking draw the same line on a chart.",{"src":462},"\u002Fblog\u002Fdirection-beats-the-number-en.png",{"label":317},"2027-12-04",{"path":466,"title":467,"description":468,"image":469,"badge":471,"date":472,"readTime":207},"\u002Fen\u002Fblog\u002Fattribution-flow-and-trends","When to read the attribution flow and when to read the trend","The flow tells you where your volume sits this month. The trend tells you whether a channel is climbing or falling. A table on its own sends budget the wrong way.",{"src":470},"\u002Fblog\u002Fattribution-flow-and-trends-en.png",{"label":317},"2027-11-27",{"path":474,"title":475,"description":476,"image":477,"badge":479,"date":480,"readTime":207},"\u002Fen\u002Fblog\u002Fqr-inserts-and-offline-sources","How to give packaging and print a cost per order","Offline touchpoints cost you money and have no revenue line facing them. One code on something you already print turns them into a channel you can compare against paid.",{"src":478},"\u002Fblog\u002Fqr-inserts-and-offline-sources-en.png",{"label":219},"2027-11-20",{"path":482,"title":483,"description":484,"image":485,"badge":487,"date":488,"readTime":178},"\u002Fen\u002Fblog\u002Ftag-every-link-you-own","Tag every link you own, not just creator links","Forty per cent of one store's monthly orders sat in direct. Tagging three links it already owned put a name on 92 of them, and nothing about the marketing changed.",{"src":486},"\u002Fblog\u002Ftag-every-link-you-own-en.png",{"label":219},"2027-11-13",{"path":490,"title":491,"description":492,"image":493,"badge":495,"date":496,"readTime":207},"\u002Fen\u002Fblog\u002Fwhat-to-keep-from-a-season","What to claim from a season in the week after it ends","A season leaves four things behind besides revenue. All four decay within about two weeks if nobody claims them, and claiming all four is an hour of work.",{"src":494},"\u002Fblog\u002Fwhat-to-keep-from-a-season-en.png",{"label":13},"2027-11-06",{"path":498,"title":499,"description":500,"image":501,"badge":503,"date":504,"readTime":178},"\u002Fen\u002Fblog\u002Feid-al-fitr-season-readout","Judge a season on new customers, not on cost per order","Cost per order improves during a season for a reason that has nothing to do with your ads. Divide the same spend by new customers and the decision changes.",{"src":502},"\u002Fblog\u002Feid-al-fitr-season-readout-en.png",{"label":13},"2027-10-30",{"path":506,"title":507,"description":508,"image":509,"badge":511,"date":512,"readTime":207},"\u002Fen\u002Fblog\u002Fspend-pacing-in-a-short-window","Pacing spend when the window is ten days long","In a ten-day window most of your spend runs while the platform is still learning, and the daily cap binds at the wrong hours. Here are the conditions and rules that survive a short window.",{"src":510},"\u002Fblog\u002Fspend-pacing-in-a-short-window-en.png",{"label":13},"2027-10-23",{"path":514,"title":515,"description":516,"image":517,"badge":519,"date":520,"readTime":178},"\u002Fen\u002Fblog\u002Framadan-final-ten","The final ten nights, what to do and what to postpone","Spend is at its peak, the window is ten days, and there's no time left to recover from a mistake. Two short lists: what's worth doing inside those ten days, and what waits until after Eid.",{"src":518},"\u002Fblog\u002Framadan-final-ten-en.png",{"label":13},"2027-10-16",{"path":522,"title":523,"description":524,"image":525,"badge":527,"date":528,"readTime":178},"\u002Fen\u002Fblog\u002Fa-weekly-digest-on-whatsapp","Four lines instead of a weekly report","A number on its own tells you nothing. Four lines with a comparison, the top source, the biggest change and one suggested action take fifteen seconds and end with a decision.",{"src":526},"\u002Fblog\u002Fa-weekly-digest-on-whatsapp-en.png",{"label":317},"2027-10-09",{"path":530,"title":531,"description":532,"image":533,"badge":535,"date":536,"readTime":207},"\u002Fen\u002Fblog\u002Ffunnel-drop-off-analysis","Finding the widest gap in your funnel","Most stores fix the step they have a ready number for, not the step losing them people. The rule is one line: compute the transition rate between each pair of steps and start at the lowest.",{"src":534},"\u002Fblog\u002Ffunnel-drop-off-analysis-en.png",{"label":317},"2027-10-02",{"path":538,"title":539,"description":540,"image":541,"badge":543,"date":544,"readTime":207},"\u002Fen\u002Fblog\u002Fbehaviour-detectors-and-goals","Turn your monthly target into a daily rate","On day 18 you're 264 orders into a target of 500. That figure does nothing for you until it becomes a required daily rate, and the gap between your rate and the required one is your plan for the next fortnight.",{"src":542},"\u002Fblog\u002Fbehaviour-detectors-and-goals-en.png",{"label":317},"2027-09-25",{"path":546,"title":547,"description":548,"image":549,"badge":551,"date":552,"readTime":207},"\u002Fen\u002Fblog\u002Fjoining-ad-spend-to-orders","Join ad spend to orders on the click ID","A 5.0 ROAS on the dashboard is worth checking before you celebrate. If 40% of your spend never matched a campaign, the denominator is short and the number is wrong in the direction you like.",{"src":550},"\u002Fblog\u002Fjoining-ad-spend-to-orders-en.png",{"label":236},"2027-09-18",{"path":554,"title":555,"description":556,"image":557,"badge":559,"date":560,"readTime":207},"\u002Fen\u002Fblog\u002Fwhy-fixed-alert-thresholds-fail","Why a fixed alert threshold produces false alarms","Alert me if events drop below 100 a day is a rule that works for one store, for about a month. A threshold that doesn't know your normal fires when you're fine and stays quiet when you're not.",{"src":558},"\u002Fblog\u002Fwhy-fixed-alert-thresholds-fail-en.png",{"label":358},"2027-09-11",{"path":562,"title":563,"description":564,"image":565,"badge":567,"date":568,"readTime":207},"\u002Fen\u002Fblog\u002Fchannel-order-inside-a-path","Which channel opens the journey and which one closes it","Ranking channels best to worst assumes they all do the same job. The alternative is assigning roles. Here's how to read each channel's role from your own data, and what changes in the budget afterwards.",{"src":566},"\u002Fblog\u002Fchannel-order-inside-a-path-en.png",{"label":423},"2027-09-04",{"path":570,"title":571,"description":572,"image":573,"badge":575,"date":576,"readTime":207},"\u002Fen\u002Fblog\u002Fseason-alerts-that-matter","Which alerts are worth having on during a season","A three-day tracking break at peak spend exposes you to 18,000 SAR. An hourly check brings the same exposure down to about 250. The difference isn't the fix, it's how long you ran without seeing.",{"src":574},"\u002Fblog\u002Fseason-alerts-that-matter-en.png",{"label":13},"2027-08-28",{"path":578,"title":579,"description":580,"image":581,"badge":583,"date":584,"readTime":178},"\u002Fen\u002Fblog\u002Framadan-week-two","Why week two is the decision point in Ramadan","Week one is a transition and the final ten are too expensive to experiment in. That leaves week two, with stable data and enough season left for a decision to pay off.",{"src":582},"\u002Fblog\u002Framadan-week-two-en.png",{"label":13},"2027-08-21",{"path":586,"title":587,"description":588,"image":589,"badge":591,"date":592,"readTime":178},"\u002Fen\u002Fblog\u002Framadan-daily-rhythm","What Ramadan's night rhythm does to your reports","Buying moves to late evening. Sessions cross midnight and the daytime lull reads like a decline. These are the settings to adjust before the month starts.",{"src":590},"\u002Fblog\u002Framadan-daily-rhythm-en.png",{"label":13},"2027-08-14",{"path":594,"title":595,"description":596,"image":597,"badge":599,"date":600,"readTime":178},"\u002Fen\u002Fblog\u002Framadan-week-one","Reading the first week of Ramadan","Two channels with near-identical totals after three weeks. One is down a third, the other has more than doubled. The total says split evenly, the trend says move the whole budget.",{"src":598},"\u002Fblog\u002Framadan-week-one-en.png",{"label":13},"2027-08-07",{"path":602,"title":603,"description":604,"image":605,"badge":607,"date":608,"readTime":178},"\u002Fen\u002Fblog\u002Framadan-moves-eleven-days","Ramadan moves 11 days a year and your comparison doesn't","Your report says revenue fell 22% year over year. Aligned properly, it rose 26%. Same data, from a comparison that matched dates instead of matching seasons.",{"src":606},"\u002Fblog\u002Framadan-moves-eleven-days-en.png",{"label":13},"2027-07-31",{"path":610,"title":611,"description":612,"image":613,"badge":615,"date":616,"readTime":207},"\u002Fen\u002Fblog\u002Framadan-preparation","Getting measurement ready for Ramadan","Thirty days of high spend, a late-night rhythm, and a date that moves every year. The checks to run before, and the two minutes to run each night during.",{"src":614},"\u002Fblog\u002Framadan-preparation-en.png",{"label":13},"2027-07-24",{"path":618,"title":619,"description":620,"image":621,"badge":623,"date":624,"readTime":178},"\u002Fen\u002Fblog\u002Fhow-long-your-buying-cycle-really-is","How long your buying cycle is, and how to measure it","The gap between first touch and purchase is a fact about your product that no benchmark supplies. It sets your attribution window, when you start spending before a season, and how long you wait before judging a campaign.",{"src":622},"\u002Fblog\u002Fhow-long-your-buying-cycle-really-is-en.png",{"label":317},"2027-07-17",{"path":626,"title":627,"description":628,"image":629,"badge":631,"date":632,"readTime":178},"\u002Fen\u002Fblog\u002Fthe-step-by-step-customer-journey","What a stored customer journey contains, and what it answers","A funnel diagram describes buying in general. A stored journey describes what one of your customers actually did, in order, with dates. That's what you need when a source is disputed.",{"src":630},"\u002Fblog\u002Fthe-step-by-step-customer-journey-en.png",{"label":317},"2027-07-10",{"path":634,"title":635,"description":636,"image":637,"badge":639,"date":640,"readTime":178},"\u002Fen\u002Fblog\u002Fcomparing-models-on-the-same-orders","How to compare two attribution models on the same orders","Most attribution tools calculate credit at collection time. That means switching models needs new data and a month of waiting, and you need the comparison now.",{"src":638},"\u002Fblog\u002Fcomparing-models-on-the-same-orders-en.png",{"label":423},"2027-07-03",{"path":642,"title":643,"description":644,"image":645,"badge":647,"date":648,"readTime":178},"\u002Fen\u002Fblog\u002Fthe-ninety-day-window","How to work out the right attribution window for your store","A model can only divide the touches it can see. Before arguing about first versus last, check how far back your window reaches, because a short one erases the whole subject of the argument.",{"src":646},"\u002Fblog\u002Fthe-ninety-day-window-en.png",{"label":423},"2027-06-26",{"path":650,"title":651,"description":652,"image":653,"badge":655,"date":656,"readTime":207},"\u002Fen\u002Fblog\u002Fcrediting-paid-media-fairly","Four steps to credit paid media fairly without erasing organic","Two opposite errors, both common. One hands paid an order that organic closed. The other lets brand search absorb credit for demand advertising created.",{"src":654},"\u002Fblog\u002Fcrediting-paid-media-fairly-en.png",{"label":423},"2027-06-19",{"path":658,"title":659,"description":660,"image":661,"badge":663,"date":664,"readTime":178},"\u002Fen\u002Fblog\u002Fj-shaped-and-last-paid-touch","J-shaped and last paid touch, the two models that show up in budget meetings","One weights the close while still crediting discovery. The other ignores organic and asks a narrower question about the money you spent. When to use each.",{"src":662},"\u002Fblog\u002Fj-shaped-and-last-paid-touch-en.png",{"label":423},"2027-06-12",{"path":666,"title":667,"description":668,"image":669,"badge":671,"date":672,"readTime":178},"\u002Fen\u002Fblog\u002Fwhen-multi-touch-is-worth-it","Measure your multi-touch share before you pick a model","For single-touch orders, every model returns the same answer. So the share of orders with more than one touch is the size of the decision you're debating.",{"src":670},"\u002Fblog\u002Fwhen-multi-touch-is-worth-it-en.png",{"label":423},"2027-06-05",{"path":674,"title":675,"description":676,"image":677,"badge":679,"date":680,"readTime":178},"\u002Fen\u002Fblog\u002Fmulti-touch-attribution-models","Linear, time decay and position-based on one order","Three ways to divide credit across a journey instead of handing it to one touch. Take a single order, watch it split under each, and see which assumption fits your store.",{"src":678},"\u002Fblog\u002Fmulti-touch-attribution-models-en.png",{"label":423},"2027-05-29",{"path":682,"title":683,"description":684,"image":685,"badge":687,"date":688,"readTime":207},"\u002Fen\u002Fblog\u002Ffirst-touch-versus-last-touch","First touch and last touch, what each one answers","The two aren't measuring the same thing. What each one says, where each one is wrong, and how to read the difference between them per channel.",{"src":686},"\u002Fblog\u002Ffirst-touch-versus-last-touch-en.png",{"label":423},"2027-05-22",{"path":206,"title":5,"description":188,"image":690,"badge":691,"date":187,"readTime":207},{"src":191},{"label":13},{"path":693,"title":694,"description":695,"image":696,"badge":698,"date":699,"readTime":207},"\u002Fen\u002Fblog\u002Fpost-season-readout","Which comparison tells you whether you grew","4,832 orders in a season week is a big number until you put it next to two others. One tells you a season happened. The other tells you whether you grew through it.",{"src":697},"\u002Fblog\u002Fpost-season-readout-en.png",{"label":13},"2027-04-10",{"path":701,"title":702,"description":703,"image":704,"badge":706,"date":707,"readTime":207},"\u002Fen\u002Fblog\u002Freading-a-season-while-it-runs","Reading a season while it runs, not after it","On peak night you split 30,000 SAR using numbers the platforms reported about themselves. Here's the arithmetic of that gap, and what to watch each day instead.",{"src":705},"\u002Fblog\u002Freading-a-season-while-it-runs-en.png",{"label":13},"2027-04-03",{"path":709,"title":710,"description":711,"image":712,"badge":714,"date":715,"readTime":207},"\u002Fen\u002Fblog\u002Fthe-pre-season-checklist","What to freeze before a season, and what to keep changing","Most season damage comes from a change made during the season itself. Here are the parts you stop touching two weeks out, and the parts you keep adjusting every day.",{"src":713},"\u002Fblog\u002Fthe-pre-season-checklist-en.png",{"label":13},"2027-03-27",{"path":136,"title":717,"description":718,"image":719,"badge":721,"date":722,"readTime":207},"Preparing measurement for White Friday","White Friday doesn't create tracking failures. It exposes the ones you already have, while you spend four times normal. Here's the pre-season check schedule and the two minutes to run daily during it.",{"src":720},"\u002Fblog\u002Fwhite-friday-preparation-en.png",{"label":13},"2027-03-20",{"path":724,"title":725,"description":726,"image":727,"badge":729,"date":730,"readTime":207},"\u002Fen\u002Fblog\u002Fevery-redirect-that-breaks-a-session","Six redirects off your site that can lose the order source","Instalment providers take the blame, but the mechanism is broader. Any journey that leaves your domain and comes back can end the session carrying the customer's source. Here's the list, and one fix that covers most of it.",{"src":728},"\u002Fblog\u002Fevery-redirect-that-breaks-a-session-en.png",{"label":423},"2027-02-20",{"path":732,"title":733,"description":734,"image":735,"badge":737,"date":738,"readTime":207},"\u002Fen\u002Fblog\u002Fevent-match-quality-explained","Event match quality scores your identifiers, not your setup","The score a platform gives you counts how many identifiers arrived with the event. Here's what it actually counts, three common objections to it, and what genuinely raises it.",{"src":736},"\u002Fblog\u002Fevent-match-quality-explained-en.png",{"label":358},"2027-02-13",{"path":740,"title":741,"description":742,"image":743,"badge":745,"date":746,"readTime":207},"\u002Fen\u002Fblog\u002Frecovering-attribution-you-already-lost","What you can recover after attribution data is lost, and what you can't","After you fix a tracking gap, part of the past can be rebuilt from records you already own. Part of it is gone. Here's the difference, so you don't spend weeks on the part that doesn't come back.",{"src":744},"\u002Fblog\u002Frecovering-attribution-you-already-lost-en.png",{"label":358},"2027-02-06",{"path":748,"title":749,"description":750,"image":751,"badge":753,"date":754,"readTime":207},"\u002Fen\u002Fblog\u002Fseason-revenue-split-beats-season-total","Why a season total isn't enough to plan the next season","Total revenue tells you whether the season worked. It doesn't tell you which channel carried it, or whether the season created demand or pulled it forward. Here are the splits that answer that.",{"src":752},"\u002Fblog\u002Fseason-revenue-split-beats-season-total-en.png",{"label":13},"2027-01-30",{"path":756,"title":757,"description":758,"image":759,"badge":761,"date":762,"readTime":207},"\u002Fen\u002Fblog\u002Fmeasuring-saudi-national-day","How to read National Day week before it ends","National Day is a four-day season. The call you make on the 21st isn't the call you'd make on the 24th. Here's what to check each evening, and what to leave for the readout.",{"src":760},"\u002Fblog\u002Fmeasuring-saudi-national-day-en.png",{"label":13},"2027-01-23",{"path":764,"title":765,"description":766,"image":767,"badge":769,"date":770,"readTime":207},"\u002Fen\u002Fblog\u002Freading-a-single-customer-profile","What a unified customer profile shows you","The same six hundred orders, read by last click and by first touch, give you two different budgets. Here's the arithmetic, and what to look at in one profile before you pause a channel.",{"src":768},"\u002Fblog\u002Freading-a-single-customer-profile-en.png",{"label":317},"2027-01-16",{"path":772,"title":773,"description":774,"image":775,"badge":777,"date":778,"readTime":207},"\u002Fen\u002Fblog\u002Fwhy-deterministic-matching-only","A higher match rate doesn't mean a more accurate one","Any vendor that guesses at identity shows you higher coverage. The extra is exactly the part that might be wrong. Here's the difference between the two error types, and how to raise coverage without guessing.",{"src":776},"\u002Fblog\u002Fwhy-deterministic-matching-only-en.png",{"label":423},"2027-01-09",{"path":780,"title":781,"description":782,"image":783,"badge":785,"date":786,"readTime":207},"\u002Fen\u002Fblog\u002Fwhy-a-pixel-alone-cannot-be-fixed","Why no pixel configuration closes a tracking gap","The browser decides whether the event leaves, not your configuration. Here are three fixes most stores try first, and why none of them changes the outcome.",{"src":784},"\u002Fblog\u002Fwhy-a-pixel-alone-cannot-be-fixed-en.png",{"label":358},"2027-01-02",{"path":788,"title":789,"description":790,"image":791,"badge":793,"date":794,"readTime":207},"\u002Fen\u002Fblog\u002Fwhat-hybrid-tracking-actually-is","Hybrid tracking, what the browser sees and what the server knows","Two paths carry the same order for different reasons. The browser holds the session and the click identifier; the server holds the confirmed sale. Here's what you lose when one of them is missing.",{"src":792},"\u002Fblog\u002Fwhat-hybrid-tracking-actually-is-en.png",{"label":358},"2026-12-26",{"path":796,"title":797,"description":798,"image":799,"badge":801,"date":802,"readTime":207},"\u002Fen\u002Fblog\u002Fwhat-direct-traffic-really-is","What sits inside your direct bucket, and how to shrink it","Direct isn't a channel. It's where orders go when nobody recorded their source. Here are the five causes behind it, and two checks that tell you which one you have.",{"src":800},"\u002Fblog\u002Fwhat-direct-traffic-really-is-en.png",{"label":423},"2026-12-19",{"path":804,"title":805,"description":806,"image":807,"badge":809,"date":810,"readTime":207},"\u002Fen\u002Fblog\u002Fidentity-resolution-explained","How fourteen identifiers become one customer","A phone visit and a laptop purchase are two separate records. Here's what merges them, why backfilled history changes your attribution, and what moves in your numbers afterwards.",{"src":808},"\u002Fblog\u002Fidentity-resolution-explained-en.png",{"label":423},"2026-12-12",{"path":812,"title":813,"description":814,"image":815,"badge":817,"date":818,"readTime":207},"\u002Fen\u002Fblog\u002Fcatching-broken-tracking-early","How to catch broken tracking before a month goes by","Tracking rarely fails in a way you can see. A theme update or a lapsed permission, and the numbers drift down and read as a slow week. Here's what to compare, how often, and how to tell when a gap is worth acting on.",{"src":816},"\u002Fblog\u002Fcatching-broken-tracking-early-en.png",{"label":358},"2026-12-05",{"path":820,"title":821,"description":822,"image":823,"badge":825,"date":826,"readTime":207},"\u002Fen\u002Fblog\u002Fproduct-level-decisions","Product decisions don't come out of a channel dashboard","Budget is decided by channel. Stock, bundles and offers are decided by product. Two products with the same revenue can need opposite decisions, and revenue alone doesn't tell them apart.",{"src":824},"\u002Fblog\u002Fproduct-level-decisions-en.png",{"label":317},"2026-11-28",{"path":828,"title":829,"description":830,"image":831,"badge":833,"date":834,"readTime":207},"\u002Fen\u002Fblog\u002Fconversion-paths-and-explaining-attribution","Why this order was credited to Snapchat","A channel table says how much each channel brought. It doesn't say what the channels did together, or why one specific order was credited where it was. The answer sits in the path, not in a more precise number.",{"src":832},"\u002Fblog\u002Fconversion-paths-and-explaining-attribution-en.png",{"label":423},"2026-11-21",{"path":836,"title":837,"description":838,"image":839,"badge":841,"date":842,"readTime":207},"\u002Fen\u002Fblog\u002Fwhere-did-this-order-come-from","How to know the source of every order in your store","Most stores know the total. Few can open a single order and name the channel, campaign and ad behind it. That one field changes how every number after it reads.",{"src":840},"\u002Fblog\u002Fwhere-did-this-order-come-from-en.png",{"label":423},"2026-11-14",{"path":844,"title":845,"description":846,"image":847,"badge":849,"date":850,"readTime":207},"\u002Fen\u002Fblog\u002Fcounting-every-order-once","Why one order gets counted twice, and how to stop it","The browser pixel and server-side tracking complete each other. Without a shared event ID between them, the same order is counted twice and ROAS reads better than reality. Here's what each path sees, and where deduplication breaks.",{"src":848},"\u002Fblog\u002Fcounting-every-order-once-en.png",{"label":358},"2026-11-07",{"path":852,"title":853,"description":854,"image":855,"badge":857,"date":858,"readTime":207},"\u002Fen\u002Fblog\u002Faudiences-from-your-own-customer-data","How to build ad audiences from your own order data","A platform pixel only knows browsing inside that platform. Your store knows who bought, what they spent and which channel brought them. Here are three lists worth building, and how to keep them from going stale.",{"src":856},"\u002Fblog\u002Faudiences-from-your-own-customer-data-en.png",{"label":219},"2026-10-31",{"path":860,"title":861,"description":862,"image":863,"badge":865,"date":866,"readTime":207},"\u002Fen\u002Fblog\u002Freading-channel-funnel-and-segment-reports","Three reports to read before you move budget","A dashboard showing orders without spend gives you half the equation. How to read channel performance, find the widest gap in your funnel, and split customers into groups you can act on.",{"src":864},"\u002Fblog\u002Freading-channel-funnel-and-segment-reports-en.png",{"label":317},"2026-10-24",{"path":868,"title":869,"description":870,"image":871,"badge":873,"date":874,"readTime":207},"\u002Fen\u002Fblog\u002Fmeasuring-a-saudi-season","Why March against March misreads your Ramadan","Ramadan moves about eleven days earlier each Gregorian year. The same data reads as a 22% drop by calendar and 26% growth by season day. Here's how to align it, and what to check during the month.",{"src":872},"\u002Fblog\u002Fmeasuring-a-saudi-season-en.png",{"label":13},"2026-10-10",{"path":876,"title":877,"description":878,"image":879,"badge":881,"date":882,"readTime":207},"\u002Fen\u002Fblog\u002Fncac-cohorts-and-ltv","Your cost per customer is wrong if it counts returning buyers","Spend divided by all orders flatters every campaign that resells to your own customers. Here's the arithmetic, and the order to work through to LTV by channel.",{"src":880},"\u002Fblog\u002Fncac-cohorts-and-ltv-en.png",{"label":219},"2026-10-03",{"path":884,"title":885,"description":886,"image":887,"badge":889,"date":890,"readTime":207},"\u002Fen\u002Fblog\u002Froas-vs-true-profit","Why a campaign at 4× ROAS can lose money","ROAS counts sales, not profit. Once cost of goods, shipping and gateway fees are in, your campaign ranking changes. Here's the arithmetic and what to do about it.",{"src":888},"\u002Fblog\u002Froas-vs-true-profit-en.png",{"label":236},"2026-09-26",{"path":892,"title":893,"description":894,"image":895,"badge":897,"date":898,"readTime":207},"\u002Fen\u002Fblog\u002Finfluencer-tracking-without-discount-codes","Measuring influencers without discount codes","A promo code counts who remembered to type it, not who was influenced. Here's what codes miss and what a tracked link measures instead.",{"src":896},"\u002Fblog\u002Finfluencer-tracking-without-discount-codes-en.png",{"label":219},"2026-09-19",{"path":900,"title":901,"description":902,"image":903,"badge":905,"date":906,"readTime":207},"\u002Fen\u002Fblog\u002Fcustomer-journey-and-assist-campaigns","Why your store counts one buyer as four customers","A cookie identifies a browser, not a person. Once identity is resolved across devices, your customer count drops while your order count doesn't, and repeat rate and acquisition cost correct themselves.",{"src":904},"\u002Fblog\u002Fcustomer-journey-and-assist-campaigns-en.png",{"label":317},"2026-09-12",{"path":908,"title":909,"description":910,"image":911,"badge":913,"date":914,"readTime":207},"\u002Fen\u002Fblog\u002Fattribution-models-explained","Attribution models, what each one assumes and which suits your store","Every attribution model is an assumption about how your customers buy. Here's what each one assumes, when to use it, and why the attribution window matters to you more than the model does.",{"src":912},"\u002Fblog\u002Fattribution-models-explained-en.png",{"label":423},"2026-09-05",{"path":916,"title":917,"description":918,"image":919,"badge":921,"date":922,"readTime":207},"\u002Fen\u002Fblog\u002Ftabby-tamara-attribution-direct-traffic","Why Tabby and Tamara make your paid channels look weak","Instalment checkout sends the shopper off your store and back. Most tools read the return as a new direct visit, so the ad that produced the sale gets no credit.",{"src":920},"\u002Fblog\u002Ftabby-tamara-attribution-direct-traffic-en.png",{"label":423},"2026-08-29",{"path":924,"title":925,"description":926,"image":927,"badge":929,"date":930,"readTime":207},"\u002Fen\u002Fblog\u002Fhow-conversion-data-goes-missing","Four holes conversion data leaks through, and the fix for each","ITP, ad blockers, bots and relay emails each break tracking in a different place. That's why no single fix closes all of them.",{"src":928},"\u002Fblog\u002Fhow-conversion-data-goes-missing-en.png",{"label":358},"2026-08-22",{"path":932,"title":933,"description":934,"image":935,"badge":937,"date":938,"readTime":939},"\u002Fen\u002Fblog\u002Fmeta-reports-more-conversions-than-salla","Why Meta reports more conversions than your Salla store","340 against 240, and both numbers are right. Four reasons the gap exists, how to measure it in your store, and which number to budget on.",{"src":936},"\u002Fblog\u002Fmeta-reports-more-conversions-than-salla-en.png",{"label":423},"2026-08-15",4,1787611839791]