[{"data":1,"prerenderedAt":993},["ShallowReactive",2],{"post-\u002Fen\u002Fblog\u002Fconversion-paths-and-explaining-attribution":3,"post-siblings-en":263},{"id":4,"title":5,"authors":6,"badge":12,"body":14,"date":240,"description":241,"extension":242,"image":243,"meta":245,"navigation":257,"path":258,"readTime":259,"seo":260,"stem":261,"__hash__":262},"posts_en\u002Fen\u002Fblog\u002F16.conversion-paths-and-explaining-attribution.md","Why this order was credited to Snapchat",[7],{"name":8,"to":9,"avatar":10},"The Flowfy team","https:\u002F\u002Ftryflowfy.com",{"src":11},"\u002Fbrand\u002Fsymbol\u002Fflowfy-symbol-512.png",{"label":13},"Attribution",{"type":15,"value":16,"toc":231},"minimark",[17,21,24,29,32,35,87,92,95,98,102,105,108,121,124,127,130,134,137,148,205,208,211,214,218,221,224,228],[18,19,20],"p",{},"\"Why was this order credited to Snapchat?\" is the most common question a merchant asks the first time they open an attribution report. A source name on its own convinces nobody, least of all when the named channel is one you didn't spend on this month.",[18,22,23],{},"The answer isn't a more precise number. It's the order of the steps that led to the order.",[25,26,28],"h2",{"id":27},"snapchat-then-google-isnt-google-then-snapchat","Snapchat then Google isn't Google then Snapchat",[18,30,31],{},"Conversion paths show the channel combinations that end in a purchase, ranked by how often each one repeats. The order inside the path is what a channel table can't express.",[18,33,34],{},"An illustrative month with 1,000 conversions:",[36,37,38,51],"table",{},[39,40,41],"thead",{},[42,43,44,48],"tr",{},[45,46,47],"th",{},"Path",[45,49,50],{},"Conversions",[52,53,54,63,71,79],"tbody",{},[42,55,56,60],{},[57,58,59],"td",{},"Snapchat alone",[57,61,62],{},"180",[42,64,65,68],{},[57,66,67],{},"Snapchat then Google",[57,69,70],{},"260",[42,72,73,76],{},[57,74,75],{},"Snapchat then WhatsApp",[57,77,78],{},"150",[42,80,81,84],{},[57,82,83],{},"Paths without Snapchat",[57,85,86],{},"410",[88,89],"post-stats",{":items":90,"caption":91},"[{\"value\":\"590\",\"label\":\"conversions with Snapchat in the path\",\"note\":\"out of 1,000\"},{\"value\":\"180\",\"label\":\"conversions last click gives it\",\"note\":\"under a third of its presence\"},{\"value\":\"410\",\"label\":\"paths where it was the first step\"}]","Illustrative figures, on 1,000 conversions in a month.",[18,93,94],{},"Snapchat appears in 590 of the thousand, and last click credits it with 180.",[18,96,97],{},"That doesn't mean it deserves the full revenue of all 590. It means 180 is an incomplete number. The useful detail is in the ordering: in 410 of those 590, Snapchat was the first step rather than the last.",[25,99,101],{"id":100},"how-often-a-channel-appears-isnt-how-much-it-contributes","How often a channel appears isn't how much it contributes",[18,103,104],{},"The second trap runs opposite to the first. A channel that shows up in 62% of purchase paths looks indispensable, until you ask what happens to the path without it.",[18,106,107],{},"Take 1,000 paths over 90 days:",[109,110,111,115,118],"ul",{},[112,113,114],"li",{},"Channel A appears in 620 paths",[112,116,117],{},"Of those, 540 have paid search immediately after it, before the purchase",[112,119,120],{},"Only 80 converted with Channel A alone in the path",[18,122,123],{},"Three readings of the same numbers. Last click gives it only the orders it closed, so it looks weak. Frequency says it's in 62% of paths, so it looks like the hero. The third reading is the useful one: 80 paths needed nobody after it, and 540 needed a second step to close.",[18,125,126],{},"So its role is opening the path rather than closing it, and judging it on closing return damages the channel and the budget together.",[18,128,129],{},"In practice, a path-opening channel is judged on how many paths it started and what starting one costs, not on last-click return. And if you cut it because the direct return looks weak, expect the effect to show up weeks later in brand search volume and in the volume of the campaigns that close, rather than in the same week.",[25,131,133],{"id":132},"the-same-order-under-three-models","The same order under three models",[18,135,136],{},"The second half of the question sits at the level of a single order. An order worth 1,240 SAR, with a stored path:",[109,138,139,142,145],{},[112,140,141],{},"Day 1: Instagram ad",[112,143,144],{},"Day 3: search on the product name",[112,146,147],{},"Day 6: cart reminder email, then the purchase",[36,149,150,166],{},[39,151,152],{},[42,153,154,157,160,163],{},[45,155,156],{},"Model",[45,158,159],{},"Instagram",[45,161,162],{},"Search",[45,164,165],{},"Email",[52,167,168,181,192],{},[42,169,170,173,176,179],{},[57,171,172],{},"First touch",[57,174,175],{},"1,240 SAR",[57,177,178],{},"0",[57,180,178],{},[42,182,183,186,188,190],{},[57,184,185],{},"Last touch",[57,187,178],{},[57,189,178],{},[57,191,175],{},[42,193,194,197,200,203],{},[57,195,196],{},"Position based",[57,198,199],{},"496 SAR",[57,201,202],{},"372 SAR",[57,204,202],{},[18,206,207],{},"Same order, same data, three different results. All of them are correct, as long as you know which model is running.",[18,209,210],{},"And once you see the weight written next to each touchpoint, the question changes. You stop asking whether the number is right and start asking whether the model fits your purchase cycle.",[18,212,213],{},"In Flowfy, conversion paths are live, and every order stores the full touchpoint sequence with timestamps and sources inside a 90-day window, so you can open an order and read the path that produced it. Showing each touchpoint's weight across models side by side in one screen, and the aggregated touchpoint impact screen, haven't shipped.",[25,215,217],{"id":216},"you-need-to-be-able-to-explain-the-number-to-someone-else","You need to be able to explain the number to someone else",[18,219,220],{},"This is the most neglected point in attribution tooling. All the effort goes into calculation accuracy, and the question that keeps coming up in the meeting isn't about accuracy. It's where the number came from.",[18,222,223],{},"An order worth 890 SAR, next to the name of a channel the merchant didn't fund this month. They ask the agency, which sends a screenshot of the same dashboard. They ask again and get an assertion rather than evidence. After that exchange the number stops being used. It stays on the dashboard, and nobody builds a decision on it.",[25,225,227],{"id":226},"in-short","In short",[18,229,230],{},"Before you switch attribution model, open five disputed orders and read each path. If most of your paths are a single step, a multi-touch model won't change anything for you. If most are three steps, last click is showing you only part of the picture.",{"title":232,"searchDepth":233,"depth":233,"links":234},"",2,[235,236,237,238,239],{"id":27,"depth":233,"text":28},{"id":100,"depth":233,"text":101},{"id":132,"depth":233,"text":133},{"id":216,"depth":233,"text":217},{"id":226,"depth":233,"text":227},"2026-11-21","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.","md",{"src":244},"\u002Fblog\u002Fconversion-paths-and-explaining-attribution-en.png",{"cover":246},{"kind":247,"caption":248,"gapLabel":249,"series":250},"gap","Illustrative figures · one month, 1,000 conversions","Missed by last click",[251,254],{"label":252,"value":253},"Paths with Snapchat",590,{"label":255,"value":256},"Last-click credit",180,true,"\u002Fen\u002Fblog\u002Fconversion-paths-and-explaining-attribution",3,{"title":5,"description":241},"en\u002Fblog\u002F16.conversion-paths-and-explaining-attribution","qTBpdlfo0CoOn_IV_BfzUvs6YVMTutAv3_2RDHdzQxk",[264,273,281,290,298,306,314,322,330,338,346,355,363,372,380,388,396,404,413,421,429,437,445,453,461,469,477,485,493,501,509,517,525,533,541,549,557,565,573,581,589,597,605,613,621,629,637,645,653,661,669,677,685,693,701,709,717,725,733,741,749,757,765,773,781,789,797,805,813,821,829,837,845,853,861,869,877,885,888,896,904,912,920,928,936,944,952,960,968,976,984],{"path":265,"title":266,"description":267,"image":268,"badge":270,"date":272,"readTime":259},"\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":269},"\u002Fblog\u002Fexclusion-audiences-first-en.png",{"label":271},"Growth","2028-07-22",{"path":274,"title":275,"description":276,"image":277,"badge":279,"date":280,"readTime":259},"\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":278},"\u002Fblog\u002Fcohorts-and-the-time-dimension-en.png",{"label":271},"2028-07-15",{"path":282,"title":283,"description":284,"image":285,"badge":287,"date":289,"readTime":259},"\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":286},"\u002Fblog\u002Fpayment-methods-are-a-margin-decision-en.png",{"label":288},"Profit","2028-07-08",{"path":291,"title":292,"description":293,"image":294,"badge":296,"date":297,"readTime":259},"\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":295},"\u002Fblog\u002Fbudget-fit-and-payment-methods-en.png",{"label":288},"2028-07-01",{"path":299,"title":300,"description":301,"image":302,"badge":304,"date":305,"readTime":259},"\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":303},"\u002Fblog\u002Fthe-four-costs-missing-from-your-ad-report-en.png",{"label":288},"2028-06-24",{"path":307,"title":308,"description":309,"image":310,"badge":312,"date":313,"readTime":233},"\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":311},"\u002Fblog\u002Fthe-denominator-problem-en.png",{"label":288},"2028-06-17",{"path":315,"title":316,"description":317,"image":318,"badge":320,"date":321,"readTime":259},"\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":319},"\u002Fblog\u002Frepeat-purchase-journeys-en.png",{"label":271},"2028-06-10",{"path":323,"title":324,"description":325,"image":326,"badge":328,"date":329,"readTime":233},"\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":327},"\u002Fblog\u002Fassist-campaigns-and-repeat-journeys-en.png",{"label":271},"2028-06-03",{"path":331,"title":332,"description":333,"image":334,"badge":336,"date":337,"readTime":233},"\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":335},"\u002Fblog\u002Foptimising-elements-not-ads-en.png",{"label":271},"2028-05-27",{"path":339,"title":340,"description":341,"image":342,"badge":344,"date":345,"readTime":233},"\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":343},"\u002Fblog\u002Freading-arabic-ad-creative-en.png",{"label":271},"2028-05-20",{"path":347,"title":348,"description":349,"image":350,"badge":352,"date":354,"readTime":233},"\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":351},"\u002Fblog\u002Fcustom-ranges-that-answer-a-question-en.png",{"label":353},"Seasons","2028-05-13",{"path":356,"title":357,"description":358,"image":359,"badge":361,"date":362,"readTime":233},"\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":360},"\u002Fblog\u002Fperiod-comparison-and-season-shading-en.png",{"label":353},"2028-05-06",{"path":364,"title":365,"description":366,"image":367,"badge":369,"date":371,"readTime":233},"\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":368},"\u002Fblog\u002Fbudget-distribution-checks-en.png",{"label":370},"Analytics","2028-04-29",{"path":373,"title":374,"description":375,"image":376,"badge":378,"date":379,"readTime":233},"\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":377},"\u002Fblog\u002Fpaying-creators-on-measured-orders-en.png",{"label":271},"2028-04-22",{"path":381,"title":382,"description":383,"image":384,"badge":386,"date":387,"readTime":233},"\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":385},"\u002Fblog\u002Facquisition-products-versus-retention-products-en.png",{"label":370},"2028-04-15",{"path":389,"title":390,"description":391,"image":392,"badge":394,"date":395,"readTime":233},"\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":393},"\u002Fblog\u002Fcommercial-alert-detectors-en.png",{"label":370},"2028-04-08",{"path":397,"title":398,"description":399,"image":400,"badge":402,"date":403,"readTime":259},"\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":401},"\u002Fblog\u002Falert-fatigue-en.png",{"label":370},"2028-04-01",{"path":405,"title":406,"description":407,"image":408,"badge":410,"date":412,"readTime":259},"\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":409},"\u002Fblog\u002Ftracking-health-detectors-en.png",{"label":411},"Tracking","2028-03-25",{"path":414,"title":415,"description":416,"image":417,"badge":419,"date":420,"readTime":233},"\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":418},"\u002Fblog\u002Fsharing-an-analysis-without-a-screenshot-en.png",{"label":370},"2028-02-26",{"path":422,"title":423,"description":424,"image":425,"badge":427,"date":428,"readTime":259},"\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":426},"\u002Fblog\u002Fsaved-views-and-custom-dashboards-en.png",{"label":370},"2028-02-19",{"path":430,"title":431,"description":432,"image":433,"badge":435,"date":436,"readTime":259},"\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":434},"\u002Fblog\u002Freports-built-to-be-printed-en.png",{"label":370},"2028-02-12",{"path":438,"title":439,"description":440,"image":441,"badge":443,"date":444,"readTime":259},"\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":442},"\u002Fblog\u002Fspend-and-revenue-on-one-ruler-en.png",{"label":370},"2028-02-05",{"path":446,"title":447,"description":448,"image":449,"badge":451,"date":452,"readTime":233},"\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":450},"\u002Fblog\u002Fcampaign-performance-dashboard-en.png",{"label":370},"2028-01-29",{"path":454,"title":455,"description":456,"image":457,"badge":459,"date":460,"readTime":259},"\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":458},"\u002Fblog\u002Fsegments-you-can-act-on-today-en.png",{"label":370},"2028-01-22",{"path":462,"title":463,"description":464,"image":465,"badge":467,"date":468,"readTime":233},"\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":466},"\u002Fblog\u002Fcustomer-segments-en.png",{"label":370},"2028-01-15",{"path":470,"title":471,"description":472,"image":473,"badge":475,"date":476,"readTime":233},"\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":474},"\u002Fblog\u002Fsettling-attribution-arguments-en.png",{"label":13},"2028-01-08",{"path":478,"title":479,"description":480,"image":481,"badge":483,"date":484,"readTime":259},"\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":482},"\u002Fblog\u002Fexplaining-every-attribution-en.png",{"label":13},"2028-01-01",{"path":486,"title":487,"description":488,"image":489,"badge":491,"date":492,"readTime":259},"\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":490},"\u002Fblog\u002Fwhat-a-channel-absence-costs-en.png",{"label":13},"2027-12-25",{"path":494,"title":495,"description":496,"image":497,"badge":499,"date":500,"readTime":259},"\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":498},"\u002Fblog\u002Fhighest-impact-touchpoints-en.png",{"label":13},"2027-12-18",{"path":502,"title":503,"description":504,"image":505,"badge":507,"date":508,"readTime":233},"\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":506},"\u002Fblog\u002Ffunnel-by-source-en.png",{"label":370},"2027-12-11",{"path":510,"title":511,"description":512,"image":513,"badge":515,"date":516,"readTime":259},"\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":514},"\u002Fblog\u002Fdirection-beats-the-number-en.png",{"label":370},"2027-12-04",{"path":518,"title":519,"description":520,"image":521,"badge":523,"date":524,"readTime":259},"\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":522},"\u002Fblog\u002Fattribution-flow-and-trends-en.png",{"label":370},"2027-11-27",{"path":526,"title":527,"description":528,"image":529,"badge":531,"date":532,"readTime":259},"\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":530},"\u002Fblog\u002Fqr-inserts-and-offline-sources-en.png",{"label":271},"2027-11-20",{"path":534,"title":535,"description":536,"image":537,"badge":539,"date":540,"readTime":233},"\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":538},"\u002Fblog\u002Ftag-every-link-you-own-en.png",{"label":271},"2027-11-13",{"path":542,"title":543,"description":544,"image":545,"badge":547,"date":548,"readTime":259},"\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":546},"\u002Fblog\u002Fwhat-to-keep-from-a-season-en.png",{"label":353},"2027-11-06",{"path":550,"title":551,"description":552,"image":553,"badge":555,"date":556,"readTime":233},"\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":554},"\u002Fblog\u002Feid-al-fitr-season-readout-en.png",{"label":353},"2027-10-30",{"path":558,"title":559,"description":560,"image":561,"badge":563,"date":564,"readTime":259},"\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":562},"\u002Fblog\u002Fspend-pacing-in-a-short-window-en.png",{"label":353},"2027-10-23",{"path":566,"title":567,"description":568,"image":569,"badge":571,"date":572,"readTime":233},"\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":570},"\u002Fblog\u002Framadan-final-ten-en.png",{"label":353},"2027-10-16",{"path":574,"title":575,"description":576,"image":577,"badge":579,"date":580,"readTime":233},"\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":578},"\u002Fblog\u002Fa-weekly-digest-on-whatsapp-en.png",{"label":370},"2027-10-09",{"path":582,"title":583,"description":584,"image":585,"badge":587,"date":588,"readTime":259},"\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":586},"\u002Fblog\u002Ffunnel-drop-off-analysis-en.png",{"label":370},"2027-10-02",{"path":590,"title":591,"description":592,"image":593,"badge":595,"date":596,"readTime":259},"\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":594},"\u002Fblog\u002Fbehaviour-detectors-and-goals-en.png",{"label":370},"2027-09-25",{"path":598,"title":599,"description":600,"image":601,"badge":603,"date":604,"readTime":259},"\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":602},"\u002Fblog\u002Fjoining-ad-spend-to-orders-en.png",{"label":288},"2027-09-18",{"path":606,"title":607,"description":608,"image":609,"badge":611,"date":612,"readTime":259},"\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":610},"\u002Fblog\u002Fwhy-fixed-alert-thresholds-fail-en.png",{"label":411},"2027-09-11",{"path":614,"title":615,"description":616,"image":617,"badge":619,"date":620,"readTime":259},"\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":618},"\u002Fblog\u002Fchannel-order-inside-a-path-en.png",{"label":13},"2027-09-04",{"path":622,"title":623,"description":624,"image":625,"badge":627,"date":628,"readTime":259},"\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":626},"\u002Fblog\u002Fseason-alerts-that-matter-en.png",{"label":353},"2027-08-28",{"path":630,"title":631,"description":632,"image":633,"badge":635,"date":636,"readTime":233},"\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":634},"\u002Fblog\u002Framadan-week-two-en.png",{"label":353},"2027-08-21",{"path":638,"title":639,"description":640,"image":641,"badge":643,"date":644,"readTime":233},"\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":642},"\u002Fblog\u002Framadan-daily-rhythm-en.png",{"label":353},"2027-08-14",{"path":646,"title":647,"description":648,"image":649,"badge":651,"date":652,"readTime":233},"\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":650},"\u002Fblog\u002Framadan-week-one-en.png",{"label":353},"2027-08-07",{"path":654,"title":655,"description":656,"image":657,"badge":659,"date":660,"readTime":233},"\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":658},"\u002Fblog\u002Framadan-moves-eleven-days-en.png",{"label":353},"2027-07-31",{"path":662,"title":663,"description":664,"image":665,"badge":667,"date":668,"readTime":259},"\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":666},"\u002Fblog\u002Framadan-preparation-en.png",{"label":353},"2027-07-24",{"path":670,"title":671,"description":672,"image":673,"badge":675,"date":676,"readTime":233},"\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":674},"\u002Fblog\u002Fhow-long-your-buying-cycle-really-is-en.png",{"label":370},"2027-07-17",{"path":678,"title":679,"description":680,"image":681,"badge":683,"date":684,"readTime":233},"\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":682},"\u002Fblog\u002Fthe-step-by-step-customer-journey-en.png",{"label":370},"2027-07-10",{"path":686,"title":687,"description":688,"image":689,"badge":691,"date":692,"readTime":233},"\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":690},"\u002Fblog\u002Fcomparing-models-on-the-same-orders-en.png",{"label":13},"2027-07-03",{"path":694,"title":695,"description":696,"image":697,"badge":699,"date":700,"readTime":233},"\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":698},"\u002Fblog\u002Fthe-ninety-day-window-en.png",{"label":13},"2027-06-26",{"path":702,"title":703,"description":704,"image":705,"badge":707,"date":708,"readTime":259},"\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":706},"\u002Fblog\u002Fcrediting-paid-media-fairly-en.png",{"label":13},"2027-06-19",{"path":710,"title":711,"description":712,"image":713,"badge":715,"date":716,"readTime":233},"\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":714},"\u002Fblog\u002Fj-shaped-and-last-paid-touch-en.png",{"label":13},"2027-06-12",{"path":718,"title":719,"description":720,"image":721,"badge":723,"date":724,"readTime":233},"\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":722},"\u002Fblog\u002Fwhen-multi-touch-is-worth-it-en.png",{"label":13},"2027-06-05",{"path":726,"title":727,"description":728,"image":729,"badge":731,"date":732,"readTime":233},"\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":730},"\u002Fblog\u002Fmulti-touch-attribution-models-en.png",{"label":13},"2027-05-29",{"path":734,"title":735,"description":736,"image":737,"badge":739,"date":740,"readTime":259},"\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":738},"\u002Fblog\u002Ffirst-touch-versus-last-touch-en.png",{"label":13},"2027-05-22",{"path":742,"title":743,"description":744,"image":745,"badge":747,"date":748,"readTime":259},"\u002Fen\u002Fblog\u002Fwhat-a-season-teaches-about-next-year","Three findings to take from one season into planning the next","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.",{"src":746},"\u002Fblog\u002Fwhat-a-season-teaches-about-next-year-en.png",{"label":353},"2027-04-17",{"path":750,"title":751,"description":752,"image":753,"badge":755,"date":756,"readTime":259},"\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":754},"\u002Fblog\u002Fpost-season-readout-en.png",{"label":353},"2027-04-10",{"path":758,"title":759,"description":760,"image":761,"badge":763,"date":764,"readTime":259},"\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":762},"\u002Fblog\u002Freading-a-season-while-it-runs-en.png",{"label":353},"2027-04-03",{"path":766,"title":767,"description":768,"image":769,"badge":771,"date":772,"readTime":259},"\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":770},"\u002Fblog\u002Fthe-pre-season-checklist-en.png",{"label":353},"2027-03-27",{"path":774,"title":775,"description":776,"image":777,"badge":779,"date":780,"readTime":259},"\u002Fen\u002Fblog\u002Fwhite-friday-preparation","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":778},"\u002Fblog\u002Fwhite-friday-preparation-en.png",{"label":353},"2027-03-20",{"path":782,"title":783,"description":784,"image":785,"badge":787,"date":788,"readTime":259},"\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":786},"\u002Fblog\u002Fevery-redirect-that-breaks-a-session-en.png",{"label":13},"2027-02-20",{"path":790,"title":791,"description":792,"image":793,"badge":795,"date":796,"readTime":259},"\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":794},"\u002Fblog\u002Fevent-match-quality-explained-en.png",{"label":411},"2027-02-13",{"path":798,"title":799,"description":800,"image":801,"badge":803,"date":804,"readTime":259},"\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":802},"\u002Fblog\u002Frecovering-attribution-you-already-lost-en.png",{"label":411},"2027-02-06",{"path":806,"title":807,"description":808,"image":809,"badge":811,"date":812,"readTime":259},"\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":810},"\u002Fblog\u002Fseason-revenue-split-beats-season-total-en.png",{"label":353},"2027-01-30",{"path":814,"title":815,"description":816,"image":817,"badge":819,"date":820,"readTime":259},"\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":818},"\u002Fblog\u002Fmeasuring-saudi-national-day-en.png",{"label":353},"2027-01-23",{"path":822,"title":823,"description":824,"image":825,"badge":827,"date":828,"readTime":259},"\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":826},"\u002Fblog\u002Freading-a-single-customer-profile-en.png",{"label":370},"2027-01-16",{"path":830,"title":831,"description":832,"image":833,"badge":835,"date":836,"readTime":259},"\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":834},"\u002Fblog\u002Fwhy-deterministic-matching-only-en.png",{"label":13},"2027-01-09",{"path":838,"title":839,"description":840,"image":841,"badge":843,"date":844,"readTime":259},"\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":842},"\u002Fblog\u002Fwhy-a-pixel-alone-cannot-be-fixed-en.png",{"label":411},"2027-01-02",{"path":846,"title":847,"description":848,"image":849,"badge":851,"date":852,"readTime":259},"\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":850},"\u002Fblog\u002Fwhat-hybrid-tracking-actually-is-en.png",{"label":411},"2026-12-26",{"path":854,"title":855,"description":856,"image":857,"badge":859,"date":860,"readTime":259},"\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":858},"\u002Fblog\u002Fwhat-direct-traffic-really-is-en.png",{"label":13},"2026-12-19",{"path":862,"title":863,"description":864,"image":865,"badge":867,"date":868,"readTime":259},"\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":866},"\u002Fblog\u002Fidentity-resolution-explained-en.png",{"label":13},"2026-12-12",{"path":870,"title":871,"description":872,"image":873,"badge":875,"date":876,"readTime":259},"\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":874},"\u002Fblog\u002Fcatching-broken-tracking-early-en.png",{"label":411},"2026-12-05",{"path":878,"title":879,"description":880,"image":881,"badge":883,"date":884,"readTime":259},"\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":882},"\u002Fblog\u002Fproduct-level-decisions-en.png",{"label":370},"2026-11-28",{"path":258,"title":5,"description":241,"image":886,"badge":887,"date":240,"readTime":259},{"src":244},{"label":13},{"path":889,"title":890,"description":891,"image":892,"badge":894,"date":895,"readTime":259},"\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":893},"\u002Fblog\u002Fwhere-did-this-order-come-from-en.png",{"label":13},"2026-11-14",{"path":897,"title":898,"description":899,"image":900,"badge":902,"date":903,"readTime":259},"\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":901},"\u002Fblog\u002Fcounting-every-order-once-en.png",{"label":411},"2026-11-07",{"path":905,"title":906,"description":907,"image":908,"badge":910,"date":911,"readTime":259},"\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":909},"\u002Fblog\u002Faudiences-from-your-own-customer-data-en.png",{"label":271},"2026-10-31",{"path":913,"title":914,"description":915,"image":916,"badge":918,"date":919,"readTime":259},"\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":917},"\u002Fblog\u002Freading-channel-funnel-and-segment-reports-en.png",{"label":370},"2026-10-24",{"path":921,"title":922,"description":923,"image":924,"badge":926,"date":927,"readTime":259},"\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":925},"\u002Fblog\u002Fmeasuring-a-saudi-season-en.png",{"label":353},"2026-10-10",{"path":929,"title":930,"description":931,"image":932,"badge":934,"date":935,"readTime":259},"\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":933},"\u002Fblog\u002Fncac-cohorts-and-ltv-en.png",{"label":271},"2026-10-03",{"path":937,"title":938,"description":939,"image":940,"badge":942,"date":943,"readTime":259},"\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":941},"\u002Fblog\u002Froas-vs-true-profit-en.png",{"label":288},"2026-09-26",{"path":945,"title":946,"description":947,"image":948,"badge":950,"date":951,"readTime":259},"\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":949},"\u002Fblog\u002Finfluencer-tracking-without-discount-codes-en.png",{"label":271},"2026-09-19",{"path":953,"title":954,"description":955,"image":956,"badge":958,"date":959,"readTime":259},"\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":957},"\u002Fblog\u002Fcustomer-journey-and-assist-campaigns-en.png",{"label":370},"2026-09-12",{"path":961,"title":962,"description":963,"image":964,"badge":966,"date":967,"readTime":259},"\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":965},"\u002Fblog\u002Fattribution-models-explained-en.png",{"label":13},"2026-09-05",{"path":969,"title":970,"description":971,"image":972,"badge":974,"date":975,"readTime":259},"\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":973},"\u002Fblog\u002Ftabby-tamara-attribution-direct-traffic-en.png",{"label":13},"2026-08-29",{"path":977,"title":978,"description":979,"image":980,"badge":982,"date":983,"readTime":259},"\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":981},"\u002Fblog\u002Fhow-conversion-data-goes-missing-en.png",{"label":411},"2026-08-22",{"path":985,"title":986,"description":987,"image":988,"badge":990,"date":991,"readTime":992},"\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":989},"\u002Fblog\u002Fmeta-reports-more-conversions-than-salla-en.png",{"label":13},"2026-08-15",4,1787611839897]