[{"data":1,"prerenderedAt":945},["ShallowReactive",2],{"post-\u002Fen\u002Fblog\u002Freading-a-single-customer-profile":3,"post-siblings-en":215},{"id":4,"title":5,"authors":6,"badge":12,"body":14,"date":193,"description":194,"extension":195,"image":196,"meta":198,"navigation":209,"path":210,"readTime":211,"seo":212,"stem":213,"__hash__":214},"posts_en\u002Fen\u002Fblog\u002F24.reading-a-single-customer-profile.md","What a unified customer profile shows you",[7],{"name":8,"to":9,"avatar":10},"The Flowfy team","https:\u002F\u002Ftryflowfy.com",{"src":11},"\u002Fbrand\u002Fsymbol\u002Fflowfy-symbol-512.png",{"label":13},"Analytics",{"type":15,"value":16,"toc":184},"minimark",[17,21,24,29,95,98,101,105,108,111,114,118,121,128,134,140,146,149,152,155,159,162,165,168,171,175,178],[18,19,20],"p",{},"Aggregate reports answer the question of which channel. A customer profile answers the question of what happened.",[18,22,23],{},"The difference between those two answers doesn't show up in the argument, it shows up in the budget you write next month. Take an illustrative store with 600 orders in a month, and read the same month two ways.",[25,26,28],"h2",{"id":27},"six-hundred-orders-read-two-ways","Six hundred orders read two ways",[30,31,32,48],"table",{},[33,34,35],"thead",{},[36,37,38,42,45],"tr",{},[39,40,41],"th",{},"Channel",[39,43,44],{},"Last click",[39,46,47],{},"First touch",[49,50,51,63,74,85],"tbody",{},[36,52,53,57,60],{},[54,55,56],"td",{},"Paid search",[54,58,59],{},"360",[54,61,62],{},"95",[36,64,65,68,71],{},[54,66,67],{},"Snapchat",[54,69,70],{},"60",[54,72,73],{},"210",[36,75,76,79,82],{},[54,77,78],{},"Influencers",[54,80,81],{},"30",[54,83,84],{},"145",[36,86,87,90,93],{},[54,88,89],{},"Direct",[54,91,92],{},"150",[54,94,92],{},[18,96,97],{},"Same orders, same revenue, an entirely different split of credit. The reason is simple: a single order has four or five touchpoints behind it, and last click sees exactly one of them.",[18,99,100],{},"Snapchat drops from 210 to 60, influencers from 145 to 30, and paid search rises from 95 to 360. The channel that closes journeys takes all the credit, and the channels that open them nearly disappear.",[25,102,104],{"id":103},"what-changes-in-the-budget-decision","What changes in the budget decision",[18,106,107],{},"Build next month's budget on the last-click column and you'll cut the two channels that open most of your journeys, and scale the one whose main job is closing journeys somebody else opened.",[18,109,110],{},"That doesn't mean first touch is the right answer. It means the two readings differ enough that you shouldn't decide on either one alone. The minimum: before pausing a channel on last-click numbers, check its first-touch share for the same period.",[18,112,113],{},"The direct row gives you a second signal from the same table. It's 150 in both columns, so it doesn't move whatever attribution model you pick. A row that sits still across both readings usually isn't a channel, it's orders whose source was lost, and here that's a quarter of your month.",[25,115,117],{"id":116},"whats-actually-on-the-profile","What's actually on the profile",[18,119,120],{},"A resolved customer record carries, in order:",[18,122,123,127],{},[124,125,126],"strong",{},"The first touch."," The channel, campaign and ad behind the very first visit, with its date.",[18,129,130,133],{},[124,131,132],{},"Every visit since",", with its source, whether or not it ended in anything.",[18,135,136,139],{},[124,137,138],{},"Every order",", with its value and the touch sequence that preceded it.",[18,141,142,145],{},[124,143,144],{},"The identifiers"," that tie the record together, which is what lets you check the merge was sound.",[18,147,148],{},"That last item matters more than it sounds. A journey you can't audit is a journey you'll eventually distrust, usually in the middle of a budget conversation. If you open a profile and find identifiers you don't expect, that's a sign the merge has joined two records that aren't the same person.",[18,150,151],{},"This is also different from what your store platform shows. The platform gives you orders per customer. What it doesn't hold is the channel behind each one, or the visits that produced no order. The profile goes back over touch history within the 90-day window, plus the full order history for that customer.",[18,153,154],{},"Three numbers come out of the profile that no aggregate dashboard gives you. The first is the gap between first touch and first order per customer, which tells you how long a buyer takes to decide and whether your attribution window is long enough. The second is the count of orders where a campaign appears anywhere in the path against orders where it was the last touch, and the gap between them defines an assist campaign. The third is the reason a specific order was credited where it was, for when somebody opens an argument about one order.",[25,156,158],{"id":157},"the-mistake-it-prevents","The mistake it prevents",[18,160,161],{},"The common sequence: a channel shows a poor last-click ROAS, gets paused, and two weeks later total revenue falls by more than that channel's entire attributed contribution.",[18,163,164],{},"That happens when the paused channel was opening journeys other channels were closing. Nothing in a last-click table warns you, because in that table the channel genuinely does look weak. The profile shows the same channel appearing early in hundreds of paths that ended in orders credited elsewhere.",[18,166,167],{},"Protecting yourself from this is cheap. Instead of pausing the channel outright, cut part of its budget for two weeks and watch total store revenue rather than the channel's own revenue. If the total falls by more than its attributed share, it's working somewhere your table can't see.",[18,169,170],{},"In Flowfy, unified customer profiles and the full touchpoint journey are live today: identity is resolved across fourteen identifier types, anonymous history is backfilled the moment someone identifies themselves, and the path is stored per order within a 90-day window.",[25,172,174],{"id":173},"what-to-do-now","What to do now",[18,176,177],{},"You don't need to change your attribution model to get value from this. You need to open a small sample and read it yourself before the next budget meeting.",[179,180,181],"post-rule",{},[18,182,183],{},"Take your most disputed channel, pull ten orders credited to other channels, and open each customer's profile. If the channel appears early in most of them, it's an assist channel, and measuring it on last click will get it cut.",{"title":185,"searchDepth":186,"depth":186,"links":187},"",2,[188,189,190,191,192],{"id":27,"depth":186,"text":28},{"id":103,"depth":186,"text":104},{"id":116,"depth":186,"text":117},{"id":157,"depth":186,"text":158},{"id":173,"depth":186,"text":174},"2027-01-16","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.","md",{"src":197},"\u002Fblog\u002Freading-a-single-customer-profile-en.png",{"cover":199},{"kind":200,"caption":201,"series":202},"diverging","Illustrative figures · last click to first touch",[203,206],{"label":56,"value":204,"note":205},-265,"Closes journeys",{"label":67,"value":207,"note":208},150,"Opens journeys",true,"\u002Fen\u002Fblog\u002Freading-a-single-customer-profile",3,{"title":5,"description":194},"en\u002Fblog\u002F24.reading-a-single-customer-profile","lR8KOZDjuhntm4nQ3LXjxpF_mb1EsEXrUdsrEFCCz_8",[216,225,233,242,250,258,266,274,282,290,298,307,315,323,331,339,347,355,364,372,380,388,396,404,412,420,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,776,784,792,800,808,816,824,832,840,848,856,864,872,880,888,896,904,912,920,928,936],{"path":217,"title":218,"description":219,"image":220,"badge":222,"date":224,"readTime":211},"\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":221},"\u002Fblog\u002Fexclusion-audiences-first-en.png",{"label":223},"Growth","2028-07-22",{"path":226,"title":227,"description":228,"image":229,"badge":231,"date":232,"readTime":211},"\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":230},"\u002Fblog\u002Fcohorts-and-the-time-dimension-en.png",{"label":223},"2028-07-15",{"path":234,"title":235,"description":236,"image":237,"badge":239,"date":241,"readTime":211},"\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":238},"\u002Fblog\u002Fpayment-methods-are-a-margin-decision-en.png",{"label":240},"Profit","2028-07-08",{"path":243,"title":244,"description":245,"image":246,"badge":248,"date":249,"readTime":211},"\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":247},"\u002Fblog\u002Fbudget-fit-and-payment-methods-en.png",{"label":240},"2028-07-01",{"path":251,"title":252,"description":253,"image":254,"badge":256,"date":257,"readTime":211},"\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":255},"\u002Fblog\u002Fthe-four-costs-missing-from-your-ad-report-en.png",{"label":240},"2028-06-24",{"path":259,"title":260,"description":261,"image":262,"badge":264,"date":265,"readTime":186},"\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":263},"\u002Fblog\u002Fthe-denominator-problem-en.png",{"label":240},"2028-06-17",{"path":267,"title":268,"description":269,"image":270,"badge":272,"date":273,"readTime":211},"\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":271},"\u002Fblog\u002Frepeat-purchase-journeys-en.png",{"label":223},"2028-06-10",{"path":275,"title":276,"description":277,"image":278,"badge":280,"date":281,"readTime":186},"\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":279},"\u002Fblog\u002Fassist-campaigns-and-repeat-journeys-en.png",{"label":223},"2028-06-03",{"path":283,"title":284,"description":285,"image":286,"badge":288,"date":289,"readTime":186},"\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":287},"\u002Fblog\u002Foptimising-elements-not-ads-en.png",{"label":223},"2028-05-27",{"path":291,"title":292,"description":293,"image":294,"badge":296,"date":297,"readTime":186},"\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":295},"\u002Fblog\u002Freading-arabic-ad-creative-en.png",{"label":223},"2028-05-20",{"path":299,"title":300,"description":301,"image":302,"badge":304,"date":306,"readTime":186},"\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":303},"\u002Fblog\u002Fcustom-ranges-that-answer-a-question-en.png",{"label":305},"Seasons","2028-05-13",{"path":308,"title":309,"description":310,"image":311,"badge":313,"date":314,"readTime":186},"\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":312},"\u002Fblog\u002Fperiod-comparison-and-season-shading-en.png",{"label":305},"2028-05-06",{"path":316,"title":317,"description":318,"image":319,"badge":321,"date":322,"readTime":186},"\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":320},"\u002Fblog\u002Fbudget-distribution-checks-en.png",{"label":13},"2028-04-29",{"path":324,"title":325,"description":326,"image":327,"badge":329,"date":330,"readTime":186},"\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":328},"\u002Fblog\u002Fpaying-creators-on-measured-orders-en.png",{"label":223},"2028-04-22",{"path":332,"title":333,"description":334,"image":335,"badge":337,"date":338,"readTime":186},"\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":336},"\u002Fblog\u002Facquisition-products-versus-retention-products-en.png",{"label":13},"2028-04-15",{"path":340,"title":341,"description":342,"image":343,"badge":345,"date":346,"readTime":186},"\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":344},"\u002Fblog\u002Fcommercial-alert-detectors-en.png",{"label":13},"2028-04-08",{"path":348,"title":349,"description":350,"image":351,"badge":353,"date":354,"readTime":211},"\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":352},"\u002Fblog\u002Falert-fatigue-en.png",{"label":13},"2028-04-01",{"path":356,"title":357,"description":358,"image":359,"badge":361,"date":363,"readTime":211},"\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":360},"\u002Fblog\u002Ftracking-health-detectors-en.png",{"label":362},"Tracking","2028-03-25",{"path":365,"title":366,"description":367,"image":368,"badge":370,"date":371,"readTime":186},"\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":369},"\u002Fblog\u002Fsharing-an-analysis-without-a-screenshot-en.png",{"label":13},"2028-02-26",{"path":373,"title":374,"description":375,"image":376,"badge":378,"date":379,"readTime":211},"\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":377},"\u002Fblog\u002Fsaved-views-and-custom-dashboards-en.png",{"label":13},"2028-02-19",{"path":381,"title":382,"description":383,"image":384,"badge":386,"date":387,"readTime":211},"\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":385},"\u002Fblog\u002Freports-built-to-be-printed-en.png",{"label":13},"2028-02-12",{"path":389,"title":390,"description":391,"image":392,"badge":394,"date":395,"readTime":211},"\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":393},"\u002Fblog\u002Fspend-and-revenue-on-one-ruler-en.png",{"label":13},"2028-02-05",{"path":397,"title":398,"description":399,"image":400,"badge":402,"date":403,"readTime":186},"\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":401},"\u002Fblog\u002Fcampaign-performance-dashboard-en.png",{"label":13},"2028-01-29",{"path":405,"title":406,"description":407,"image":408,"badge":410,"date":411,"readTime":211},"\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":409},"\u002Fblog\u002Fsegments-you-can-act-on-today-en.png",{"label":13},"2028-01-22",{"path":413,"title":414,"description":415,"image":416,"badge":418,"date":419,"readTime":186},"\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":417},"\u002Fblog\u002Fcustomer-segments-en.png",{"label":13},"2028-01-15",{"path":421,"title":422,"description":423,"image":424,"badge":426,"date":428,"readTime":186},"\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":425},"\u002Fblog\u002Fsettling-attribution-arguments-en.png",{"label":427},"Attribution","2028-01-08",{"path":430,"title":431,"description":432,"image":433,"badge":435,"date":436,"readTime":211},"\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":434},"\u002Fblog\u002Fexplaining-every-attribution-en.png",{"label":427},"2028-01-01",{"path":438,"title":439,"description":440,"image":441,"badge":443,"date":444,"readTime":211},"\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":442},"\u002Fblog\u002Fwhat-a-channel-absence-costs-en.png",{"label":427},"2027-12-25",{"path":446,"title":447,"description":448,"image":449,"badge":451,"date":452,"readTime":211},"\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":450},"\u002Fblog\u002Fhighest-impact-touchpoints-en.png",{"label":427},"2027-12-18",{"path":454,"title":455,"description":456,"image":457,"badge":459,"date":460,"readTime":186},"\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":458},"\u002Fblog\u002Ffunnel-by-source-en.png",{"label":13},"2027-12-11",{"path":462,"title":463,"description":464,"image":465,"badge":467,"date":468,"readTime":211},"\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":466},"\u002Fblog\u002Fdirection-beats-the-number-en.png",{"label":13},"2027-12-04",{"path":470,"title":471,"description":472,"image":473,"badge":475,"date":476,"readTime":211},"\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":474},"\u002Fblog\u002Fattribution-flow-and-trends-en.png",{"label":13},"2027-11-27",{"path":478,"title":479,"description":480,"image":481,"badge":483,"date":484,"readTime":211},"\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":482},"\u002Fblog\u002Fqr-inserts-and-offline-sources-en.png",{"label":223},"2027-11-20",{"path":486,"title":487,"description":488,"image":489,"badge":491,"date":492,"readTime":186},"\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":490},"\u002Fblog\u002Ftag-every-link-you-own-en.png",{"label":223},"2027-11-13",{"path":494,"title":495,"description":496,"image":497,"badge":499,"date":500,"readTime":211},"\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":498},"\u002Fblog\u002Fwhat-to-keep-from-a-season-en.png",{"label":305},"2027-11-06",{"path":502,"title":503,"description":504,"image":505,"badge":507,"date":508,"readTime":186},"\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":506},"\u002Fblog\u002Feid-al-fitr-season-readout-en.png",{"label":305},"2027-10-30",{"path":510,"title":511,"description":512,"image":513,"badge":515,"date":516,"readTime":211},"\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":514},"\u002Fblog\u002Fspend-pacing-in-a-short-window-en.png",{"label":305},"2027-10-23",{"path":518,"title":519,"description":520,"image":521,"badge":523,"date":524,"readTime":186},"\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":522},"\u002Fblog\u002Framadan-final-ten-en.png",{"label":305},"2027-10-16",{"path":526,"title":527,"description":528,"image":529,"badge":531,"date":532,"readTime":186},"\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":530},"\u002Fblog\u002Fa-weekly-digest-on-whatsapp-en.png",{"label":13},"2027-10-09",{"path":534,"title":535,"description":536,"image":537,"badge":539,"date":540,"readTime":211},"\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":538},"\u002Fblog\u002Ffunnel-drop-off-analysis-en.png",{"label":13},"2027-10-02",{"path":542,"title":543,"description":544,"image":545,"badge":547,"date":548,"readTime":211},"\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":546},"\u002Fblog\u002Fbehaviour-detectors-and-goals-en.png",{"label":13},"2027-09-25",{"path":550,"title":551,"description":552,"image":553,"badge":555,"date":556,"readTime":211},"\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":554},"\u002Fblog\u002Fjoining-ad-spend-to-orders-en.png",{"label":240},"2027-09-18",{"path":558,"title":559,"description":560,"image":561,"badge":563,"date":564,"readTime":211},"\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":562},"\u002Fblog\u002Fwhy-fixed-alert-thresholds-fail-en.png",{"label":362},"2027-09-11",{"path":566,"title":567,"description":568,"image":569,"badge":571,"date":572,"readTime":211},"\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":570},"\u002Fblog\u002Fchannel-order-inside-a-path-en.png",{"label":427},"2027-09-04",{"path":574,"title":575,"description":576,"image":577,"badge":579,"date":580,"readTime":211},"\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":578},"\u002Fblog\u002Fseason-alerts-that-matter-en.png",{"label":305},"2027-08-28",{"path":582,"title":583,"description":584,"image":585,"badge":587,"date":588,"readTime":186},"\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":586},"\u002Fblog\u002Framadan-week-two-en.png",{"label":305},"2027-08-21",{"path":590,"title":591,"description":592,"image":593,"badge":595,"date":596,"readTime":186},"\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":594},"\u002Fblog\u002Framadan-daily-rhythm-en.png",{"label":305},"2027-08-14",{"path":598,"title":599,"description":600,"image":601,"badge":603,"date":604,"readTime":186},"\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":602},"\u002Fblog\u002Framadan-week-one-en.png",{"label":305},"2027-08-07",{"path":606,"title":607,"description":608,"image":609,"badge":611,"date":612,"readTime":186},"\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":610},"\u002Fblog\u002Framadan-moves-eleven-days-en.png",{"label":305},"2027-07-31",{"path":614,"title":615,"description":616,"image":617,"badge":619,"date":620,"readTime":211},"\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":618},"\u002Fblog\u002Framadan-preparation-en.png",{"label":305},"2027-07-24",{"path":622,"title":623,"description":624,"image":625,"badge":627,"date":628,"readTime":186},"\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":626},"\u002Fblog\u002Fhow-long-your-buying-cycle-really-is-en.png",{"label":13},"2027-07-17",{"path":630,"title":631,"description":632,"image":633,"badge":635,"date":636,"readTime":186},"\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":634},"\u002Fblog\u002Fthe-step-by-step-customer-journey-en.png",{"label":13},"2027-07-10",{"path":638,"title":639,"description":640,"image":641,"badge":643,"date":644,"readTime":186},"\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":642},"\u002Fblog\u002Fcomparing-models-on-the-same-orders-en.png",{"label":427},"2027-07-03",{"path":646,"title":647,"description":648,"image":649,"badge":651,"date":652,"readTime":186},"\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":650},"\u002Fblog\u002Fthe-ninety-day-window-en.png",{"label":427},"2027-06-26",{"path":654,"title":655,"description":656,"image":657,"badge":659,"date":660,"readTime":211},"\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":658},"\u002Fblog\u002Fcrediting-paid-media-fairly-en.png",{"label":427},"2027-06-19",{"path":662,"title":663,"description":664,"image":665,"badge":667,"date":668,"readTime":186},"\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":666},"\u002Fblog\u002Fj-shaped-and-last-paid-touch-en.png",{"label":427},"2027-06-12",{"path":670,"title":671,"description":672,"image":673,"badge":675,"date":676,"readTime":186},"\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":674},"\u002Fblog\u002Fwhen-multi-touch-is-worth-it-en.png",{"label":427},"2027-06-05",{"path":678,"title":679,"description":680,"image":681,"badge":683,"date":684,"readTime":186},"\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":682},"\u002Fblog\u002Fmulti-touch-attribution-models-en.png",{"label":427},"2027-05-29",{"path":686,"title":687,"description":688,"image":689,"badge":691,"date":692,"readTime":211},"\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":690},"\u002Fblog\u002Ffirst-touch-versus-last-touch-en.png",{"label":427},"2027-05-22",{"path":694,"title":695,"description":696,"image":697,"badge":699,"date":700,"readTime":211},"\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":698},"\u002Fblog\u002Fwhat-a-season-teaches-about-next-year-en.png",{"label":305},"2027-04-17",{"path":702,"title":703,"description":704,"image":705,"badge":707,"date":708,"readTime":211},"\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":706},"\u002Fblog\u002Fpost-season-readout-en.png",{"label":305},"2027-04-10",{"path":710,"title":711,"description":712,"image":713,"badge":715,"date":716,"readTime":211},"\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":714},"\u002Fblog\u002Freading-a-season-while-it-runs-en.png",{"label":305},"2027-04-03",{"path":718,"title":719,"description":720,"image":721,"badge":723,"date":724,"readTime":211},"\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":722},"\u002Fblog\u002Fthe-pre-season-checklist-en.png",{"label":305},"2027-03-27",{"path":726,"title":727,"description":728,"image":729,"badge":731,"date":732,"readTime":211},"\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":730},"\u002Fblog\u002Fwhite-friday-preparation-en.png",{"label":305},"2027-03-20",{"path":734,"title":735,"description":736,"image":737,"badge":739,"date":740,"readTime":211},"\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":738},"\u002Fblog\u002Fevery-redirect-that-breaks-a-session-en.png",{"label":427},"2027-02-20",{"path":742,"title":743,"description":744,"image":745,"badge":747,"date":748,"readTime":211},"\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":746},"\u002Fblog\u002Fevent-match-quality-explained-en.png",{"label":362},"2027-02-13",{"path":750,"title":751,"description":752,"image":753,"badge":755,"date":756,"readTime":211},"\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":754},"\u002Fblog\u002Frecovering-attribution-you-already-lost-en.png",{"label":362},"2027-02-06",{"path":758,"title":759,"description":760,"image":761,"badge":763,"date":764,"readTime":211},"\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":762},"\u002Fblog\u002Fseason-revenue-split-beats-season-total-en.png",{"label":305},"2027-01-30",{"path":766,"title":767,"description":768,"image":769,"badge":771,"date":772,"readTime":211},"\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":770},"\u002Fblog\u002Fmeasuring-saudi-national-day-en.png",{"label":305},"2027-01-23",{"path":210,"title":5,"description":194,"image":774,"badge":775,"date":193,"readTime":211},{"src":197},{"label":13},{"path":777,"title":778,"description":779,"image":780,"badge":782,"date":783,"readTime":211},"\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":781},"\u002Fblog\u002Fwhy-deterministic-matching-only-en.png",{"label":427},"2027-01-09",{"path":785,"title":786,"description":787,"image":788,"badge":790,"date":791,"readTime":211},"\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":789},"\u002Fblog\u002Fwhy-a-pixel-alone-cannot-be-fixed-en.png",{"label":362},"2027-01-02",{"path":793,"title":794,"description":795,"image":796,"badge":798,"date":799,"readTime":211},"\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":797},"\u002Fblog\u002Fwhat-hybrid-tracking-actually-is-en.png",{"label":362},"2026-12-26",{"path":801,"title":802,"description":803,"image":804,"badge":806,"date":807,"readTime":211},"\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":805},"\u002Fblog\u002Fwhat-direct-traffic-really-is-en.png",{"label":427},"2026-12-19",{"path":809,"title":810,"description":811,"image":812,"badge":814,"date":815,"readTime":211},"\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":813},"\u002Fblog\u002Fidentity-resolution-explained-en.png",{"label":427},"2026-12-12",{"path":817,"title":818,"description":819,"image":820,"badge":822,"date":823,"readTime":211},"\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":821},"\u002Fblog\u002Fcatching-broken-tracking-early-en.png",{"label":362},"2026-12-05",{"path":825,"title":826,"description":827,"image":828,"badge":830,"date":831,"readTime":211},"\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":829},"\u002Fblog\u002Fproduct-level-decisions-en.png",{"label":13},"2026-11-28",{"path":833,"title":834,"description":835,"image":836,"badge":838,"date":839,"readTime":211},"\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":837},"\u002Fblog\u002Fconversion-paths-and-explaining-attribution-en.png",{"label":427},"2026-11-21",{"path":841,"title":842,"description":843,"image":844,"badge":846,"date":847,"readTime":211},"\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":845},"\u002Fblog\u002Fwhere-did-this-order-come-from-en.png",{"label":427},"2026-11-14",{"path":849,"title":850,"description":851,"image":852,"badge":854,"date":855,"readTime":211},"\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":853},"\u002Fblog\u002Fcounting-every-order-once-en.png",{"label":362},"2026-11-07",{"path":857,"title":858,"description":859,"image":860,"badge":862,"date":863,"readTime":211},"\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":861},"\u002Fblog\u002Faudiences-from-your-own-customer-data-en.png",{"label":223},"2026-10-31",{"path":865,"title":866,"description":867,"image":868,"badge":870,"date":871,"readTime":211},"\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":869},"\u002Fblog\u002Freading-channel-funnel-and-segment-reports-en.png",{"label":13},"2026-10-24",{"path":873,"title":874,"description":875,"image":876,"badge":878,"date":879,"readTime":211},"\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":877},"\u002Fblog\u002Fmeasuring-a-saudi-season-en.png",{"label":305},"2026-10-10",{"path":881,"title":882,"description":883,"image":884,"badge":886,"date":887,"readTime":211},"\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":885},"\u002Fblog\u002Fncac-cohorts-and-ltv-en.png",{"label":223},"2026-10-03",{"path":889,"title":890,"description":891,"image":892,"badge":894,"date":895,"readTime":211},"\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":893},"\u002Fblog\u002Froas-vs-true-profit-en.png",{"label":240},"2026-09-26",{"path":897,"title":898,"description":899,"image":900,"badge":902,"date":903,"readTime":211},"\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":901},"\u002Fblog\u002Finfluencer-tracking-without-discount-codes-en.png",{"label":223},"2026-09-19",{"path":905,"title":906,"description":907,"image":908,"badge":910,"date":911,"readTime":211},"\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":909},"\u002Fblog\u002Fcustomer-journey-and-assist-campaigns-en.png",{"label":13},"2026-09-12",{"path":913,"title":914,"description":915,"image":916,"badge":918,"date":919,"readTime":211},"\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":917},"\u002Fblog\u002Fattribution-models-explained-en.png",{"label":427},"2026-09-05",{"path":921,"title":922,"description":923,"image":924,"badge":926,"date":927,"readTime":211},"\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":925},"\u002Fblog\u002Ftabby-tamara-attribution-direct-traffic-en.png",{"label":427},"2026-08-29",{"path":929,"title":930,"description":931,"image":932,"badge":934,"date":935,"readTime":211},"\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":933},"\u002Fblog\u002Fhow-conversion-data-goes-missing-en.png",{"label":362},"2026-08-22",{"path":937,"title":938,"description":939,"image":940,"badge":942,"date":943,"readTime":944},"\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":941},"\u002Fblog\u002Fmeta-reports-more-conversions-than-salla-en.png",{"label":427},"2026-08-15",4,1787611839829]