Reference · the working file

The working file.

Everything above comes from the same source as this workbook. Change a title, a rule or a pattern in the file and the checks update. The formulas are explained sheet by sheet on the workbook page.

16 sheets · 497 formula cells, each explained · recalculated October 11, 2026

Day one

How the file would be used on a live account, in the order the work arrives.

  1. 1

    Who sends what

    The brand or client team sends the spec sheet, the roast log and the pack artwork. The account lead says which retailers and which SKUs. Retailer notices bring rule changes.

  2. 2

    Where it is typed

    Facts go on Product Truth. Rules go on the Rule Register, and their numbers on Limits. Those three sheets are the inputs; every check reads from them.

  3. 3

    What the formulas do

    Copy Matrix counts every field and checks it against its limit. Variations builds the six titles from one pattern. The QA Checklist decides whether a retailer's copy can be marked Approved. The Launch Tracker and Monitoring Log follow it until it is verified live.

  4. 4

    Where the result goes

    Approved copy goes into Vendor Central or Seller Central, Supplier One, or the client's syndication provider. The Copy Matrix stays as the record of what was sent.

  5. 5

    What it does not do

    Nothing imports a supplier file and nothing writes copy automatically. The only copy a formula builds is the six variation titles.

Try the pattern.

Pattern 1 ends in '12 oz Bag'. Five titles pass. Early Shift Whole Bean is 76 characters: one over.

I took 'Bag' out of all six titles. The longest is now 72, and the pattern holds for every SKU.

Variations · one pattern, six titles

Runs in your browser; the file does the same with formulas.

AEFG
12SKUAmazon title, draft 1CharsStatus
13LS-ES-G12Lakeshift Early Shift Light Roast Ground Coffee, 100% Arabica, 12 oz Bag
Variations!E13=$B$4&" "&B13&" "&C13&" Roast "&D13&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
72
Variations!F13=LEN(E13)Counts the characters in the title built on this row.
PASS
Variations!G13=IF(F13<=$B$8,"PASS","OVER by "&(F13-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
14LS-ES-W12Lakeshift Early Shift Light Roast Whole Bean Coffee, 100% Arabica, 12 oz Bag
Variations!E14=$B$4&" "&B14&" "&C14&" Roast "&D14&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
76
Variations!F14=LEN(E14)Counts the characters in the title built on this row.
OVER by 1
Variations!G14=IF(F14<=$B$8,"PASS","OVER by "&(F14-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
15LS-DS-G12Lakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz Bag
Variations!E15=$B$4&" "&B15&" "&C15&" Roast "&D15&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
71
Variations!F15=LEN(E15)Counts the characters in the title built on this row.
PASS
Variations!G15=IF(F15<=$B$8,"PASS","OVER by "&(F15-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
16LS-DS-W12Lakeshift Day Shift Medium Roast Whole Bean Coffee, 100% Arabica, 12 oz Bag
Variations!E16=$B$4&" "&B16&" "&C16&" Roast "&D16&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
75
Variations!F16=LEN(E16)Counts the characters in the title built on this row.
PASS
Variations!G16=IF(F16<=$B$8,"PASS","OVER by "&(F16-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
17LS-NS-G12Lakeshift Night Shift Dark Roast Ground Coffee, 100% Arabica, 12 oz Bag
Variations!E17=$B$4&" "&B17&" "&C17&" Roast "&D17&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
71
Variations!F17=LEN(E17)Counts the characters in the title built on this row.
PASS
Variations!G17=IF(F17<=$B$8,"PASS","OVER by "&(F17-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
18LS-NS-W12Lakeshift Night Shift Dark Roast Whole Bean Coffee, 100% Arabica, 12 oz Bag
Variations!E18=$B$4&" "&B18&" "&C18&" Roast "&D18&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
75
Variations!F18=LEN(E18)Counts the characters in the title built on this row.
PASS
Variations!G18=IF(F18<=$B$8,"PASS","OVER by "&(F18-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.

The sixteen sheets

Yellow cells are inputs. Every other number is a formula; open the f button to see it and what it does.

Job Map

The six jobs in the Specialist, eCommerce posting, in the order the posting lists the work, and the sheets in this file that do each one. The posting lines are my paraphrases. Each job is one chapter on the application page.

ABCDE
4JobNameWhat the posting asks for (paraphrased)Sheets that do itChapter on the page
51Know the rulesBe the subject expert on retailer requirements and page trends.Rule Register, Limits#rules
62Audit the listingAudit client brands and competitors; give prioritized content-update recommendations.Audit Scorecard, Priorities#audit
73Write from factsTurn product information and claims into content; write titles, highlights, bullets, below-the-fold.Product Truth, Message Hierarchy, Copy Matrix#write
84Adapt per shelfMessage hierarchies that hold across PDP elements, variations and retailers.Copy Matrix, Variations#shelves
95Brief the imagesWrite image-carousel messaging and briefs for creative.Carousel Brief#images
106Ship and verifyContent moves through production, deployment, monitoring and optimization; QC for accuracy and compliance.QA Checklist, Launch Tracker, Monitoring Log, Assistant Question Test#ship
12Read Start Here next: what the file is, what is real, what is invented, and how a working day would use it.

Start Here

A PDP content system for one product story across Amazon, Walmart, Kroger and Target

AB
4What this isA working file for taking one product from facts to retailer-ready copy. It keeps the product story in one place, checks each field against the retailer limits I could verify, and tracks each asset from draft to verified live.
5Why it existsOn July 27, 2026 Amazon cut product titles to 75 characters and began rewriting titles that run over. Walmart, Kroger and Target each use a different rule. Copy written once and pasted four times now fails somewhere. This file makes the failure visible before submission.
6What is realThe retailer rules on the Rule Register. Each one has a source link, a source date and the date it was last read (2026-10-10). Several were read through a research tool, so open the source again before relying on a rule.
7What is inventedLakeshift Coffee Co. and every product fact, listing, state and date about it. The brand is fictional so that every claim can be traced and nothing here comments on a real company's pages.
8What this file cannot showTraffic, conversion, sales or search share. Those need retailer or client data. The Audit Scorecard measures the condition of the content, using my own rubric. It is not an industry metric.
9Cells you editYellow cells are inputs. Everything else is a formula or reference text. Change copy on the Copy Matrix, a rule on Limits, a pattern on Variations or a score on the Audit Scorecard and the checks recalculate.
10Suggested orderRule Register > Product Truth > Shopper Questions > Message Hierarchy > Copy Matrix > Variations > Carousel Brief > QA Checklist > Launch Tracker > Monitoring Log. Audit Scorecard and Priorities sit before the rewrite when you start from an existing listing.
11Example to tryOn Variations, the first Amazon pattern ends in '12 oz Bag'. Five of the six titles pass. The Early Shift whole bean title is 76 characters. Change the suffix in the yellow cell and watch all six update.
12Prepared byMousa Batarseh. hireme@mousabatarseh.com. mousabatarseh.com
13StatusIndependent work prepared for an application to the Specialist, eCommerce role (TWINOAKS, Publicis Commerce). Not commissioned, reviewed or endorsed by TWINOAKS, Publicis Groupe or any retailer named.
14Copyright© 2026 Mousa Batarseh. All rights reserved. Shared for evaluation. Do not redistribute or reuse without permission.
16Legend
17Input cell. Edit this.
18Check passes.
19Check fails. Fix before submission.
20Held. The rule is not verified, or no limit is published.
22Day one
23How this file would be used on a live account, in the order the work arrives.
241. Who sends whatThe brand or client team sends the spec sheet, the roast log and the pack artwork. The account lead says which retailers and which SKUs. Retailer notices bring rule changes.
252. Where it is typedFacts go on Product Truth. Rules go on the Rule Register, and their numbers on Limits. Those three sheets are the inputs; every check reads from them.
263. What the formulas doCopy Matrix counts every field and checks it against its limit. Variations builds the six titles from one pattern. The QA Checklist decides whether a retailer's copy can be marked Approved. The Launch Tracker and Monitoring Log follow it until it is verified live.
274. Where the result goesApproved copy goes into Vendor Central or Seller Central, Supplier One, or the client's syndication provider. The Copy Matrix stays as the record of what was sent.
285. What it does not doNothing imports a supplier file and nothing writes copy automatically. The only copy a formula builds is the six variation titles.

Rule Register

Every retailer rule this file relies on, with where it came from and when I last looked. PUBLISHED = retailer-published requirement. GUIDE = retailer-published recommendation. PORTAL = sits behind a supplier or seller login, verify there before use.

ABCDEFGHIJKL
4RetailerFieldRuleLimitUnitConfidenceSourceLinkSource dateLast checkedAge (days)Re-check
5AmazonTitle75 characters or less including spaces, all categories except media, from July 27, 202675charsPUBLISHEDAmazon Seller Central news post (updated June 10, 2026)sellercentral.amazon.com (opens in a new tab)2026-06-102026-10-101
Rule Register!K5=TODAY()-J5Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L5=IF(K5>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
6AmazonItem HighlightsNew field, up to 125 searchable characters125charsPUBLISHEDAmazon Seller Central news post (updated June 10, 2026)sellercentral.amazon.com (opens in a new tab)2026-06-102026-10-101
Rule Register!K6=TODAY()-J6Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L6=IF(K6>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
7AmazonTitle charactersNo ! $ ? _ { } ^ ¬ ¦ unless part of the brand name; no word more than twice (prepositions, articles and conjunctions excepted). Published January 2025; the 2026 notice does not say whether it still applies, so I keep to it.PUBLISHEDAmazon Seller Central news post (effective January 21, 2025)sellercentral.amazon.com (opens in a new tab)2025-01-212026-10-101
Rule Register!K7=TODAY()-J7Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L7=IF(K7>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
8AmazonBulletsSpecial characters, emojis and phrases such as refund guarantees are restricted (from August 15, 2024). Count and length limits sit in the category template.PORTALAmazon Seller Central news postsellercentral.amazon.com (opens in a new tab)2024-08-152026-10-101
Rule Register!K8=TODAY()-J8Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L8=IF(K8>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
9AmazonMain imagePure white background, product fills 85% or more of the frame, no text, logos or watermarks, at least 1000 px on the longest sidePUBLISHEDAmazon seller forum staff post and sell.amazon.com product photo guidesell.amazon.com (opens in a new tab)2024-12-042026-10-101
Rule Register!K9=TODAY()-J9Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L9=IF(K9>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
10AmazonA+ ContentFor brand owners in Brand Registry (sellers) and vendors. Five to seven modules; review can take up to seven business days.GUIDEAmazon A+ Content best practices PDF (March 2023)m.media-amazon.com (opens in a new tab)2023-03-282026-10-101
Rule Register!K10=TODAY()-J10Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L10=IF(K10>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
11AmazonBrand StoreFree for sellers in Brand Registry, vendors and agenciesPUBLISHEDAmazon Ads, Storesadvertising.amazon.com (opens in a new tab)2026-10-101
Rule Register!K11=TODAY()-J11Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L11=IF(K11>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
12WalmartTitleNot exceeding 150 characters. No all caps, special characters, promotional claims, retailer names or repeated keywords.150charsPUBLISHEDWalmart Marketplace Learn, Product Detail Page overviewmarketplacelearn.walmart.com (opens in a new tab)2026-10-062026-10-101
Rule Register!K12=TODAY()-J12Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L12=IF(K12>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
13WalmartKey featuresThree to 10, most important first, 80 characters each including spaces80charsPUBLISHEDWalmart Marketplace Learn, Product Detail Page overviewmarketplacelearn.walmart.com (opens in a new tab)2026-10-062026-10-101
Rule Register!K13=TODAY()-J13Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L13=IF(K13>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
14WalmartDescriptionOne paragraph, at least 150 words. Word counts can vary by category.150words minPUBLISHEDWalmart Marketplace Learn, Product Detail Page overviewmarketplacelearn.walmart.com (opens in a new tab)2026-10-062026-10-101
Rule Register!K14=TODAY()-J14Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L14=IF(K14>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
15WalmartImagesMain image on seamless white. At least four images recommended. 1500 x 1500 px minimum for zoom, 2200 x 2200 recommended.PUBLISHEDWalmart Marketplace Learn, image guidelinesmarketplacelearn.walmart.com (opens in a new tab)2026-05-122026-10-101
Rule Register!K15=TODAY()-J15Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L15=IF(K15>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
16WalmartVariant groupUp to three varying attributes per group3attributesPUBLISHEDWalmart Supplier One help, Set up variant groupssupplierone.helpdocs.io (opens in a new tab)2026-10-101
Rule Register!K16=TODAY()-J16Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L16=IF(K16>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
17WalmartSupplier (1P) style guideCategory style guides for suppliers sit behind the Supplier Academy login.PORTALWalmart Supplier One helpsupplierone.helpdocs.io (opens in a new tab)2026-10-101
Rule Register!K17=TODAY()-J17Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L17=IF(K17>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
18KrogerTitleBrand + descriptor + variable + product name. Ideally 100 characters or less. Title case. No commas, no size or count.100charsGUIDEKroger PDP Guidelines (July 2025), shared on Syndigo's communitycommunity.syndigo.com (opens in a new tab)2025-072026-10-101
Rule Register!K18=TODAY()-J18Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L18=IF(K18>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
19KrogerMarketing messageRequired. One to three sentences, roughly 300 to 400 characters, about the product, not the brand.400charsGUIDEKroger PDP Guidelines (July 2025), shared on Syndigo's communitycommunity.syndigo.com (opens in a new tab)2025-072026-10-101
Rule Register!K19=TODAY()-J19Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L19=IF(K19>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
20KrogerBulletsTop five to seven features. No promotional or pricing language.7bulletsGUIDEKroger PDP Guidelines (July 2025), shared on Syndigo's communitycommunity.syndigo.com (opens in a new tab)2025-072026-10-101
Rule Register!K20=TODAY()-J20Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L20=IF(K20>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
21KrogerImagesSix slots: one required main image and five alternates. 1000 px minimum.6imagesGUIDEKroger PDP Guidelines (July 2025), shared on Syndigo's communitycommunity.syndigo.com (opens in a new tab)2025-072026-10-101
Rule Register!K21=TODAY()-J21Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L21=IF(K21>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
22KrogerSubmissionItem data goes through the Kroger Item API using Syndigo, 1WorldSync or Salsify. The Vendor Item Portal was switched off on April 1, 2026.PUBLISHEDThe Kroger Co., supplier item data responsibilitiesthekrogerco.com (opens in a new tab)20262026-10-101
Rule Register!K22=TODAY()-J22Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L22=IF(K22>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
23TargetTitle, bullets, descriptionCurrent rules sit inside Target's vendor and Target Plus portals. One public Target Plus checklist exists but carries no date.PORTALTarget Plus product page checklist (undated PDF)gfc.target.com (opens in a new tab)2026-10-101
Rule Register!K23=TODAY()-J23Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L23=IF(K23>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
24TargetEnhanced contentSubmitted through a content provider such as Syndigo or Salsify.PORTALSyndigo, Target pagesyndigo.com (opens in a new tab)2026-04-232026-10-101
Rule Register!K24=TODAY()-J24Days since I last opened the source: today's date minus the 'last checked' date.
OK
Rule Register!L24=IF(K24>90,"RE-CHECK","OK")A rule I have not re-read for more than 90 days is flagged RE-CHECK before anyone relies on it.
26Assumption: a rule older than 90 days is treated as unverified until someone opens the source again. The 90-day window is my working default, not a retailer requirement.

Limits

The numeric limits the Copy Matrix checks against. Change a number here when a retailer changes a rule and every check updates. MAXC = maximum characters. MINW = minimum words. RANGEC = character range. HOLD = not verified. NONE = no published limit found.

ABCDEFG
4KeyRetailerFieldTypeMinMaxBasis
5Amazon|Title
Limits!A5=B5&"|"&C5Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
AmazonTitleMAXC75Rule Register: Amazon title, effective July 27, 2026
6Amazon|Item Highlights
Limits!A6=B6&"|"&C6Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
AmazonItem HighlightsMAXC125Rule Register: Amazon Item Highlights
7Amazon|Bullet
Limits!A7=B7&"|"&C7Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
AmazonBulletNONEAmazon bullet length limits sit in the category template. Not verified publicly.
8Walmart|Title
Limits!A8=B8&"|"&C8Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
WalmartTitleMAXC150Rule Register: Walmart Marketplace title
9Walmart|Key feature
Limits!A9=B9&"|"&C9Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
WalmartKey featureMAXC80Rule Register: Walmart key features
10Walmart|Description
Limits!A10=B10&"|"&C10Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
WalmartDescriptionMINW150Rule Register: Walmart description, at least 150 words
11Kroger|Title
Limits!A11=B11&"|"&C11Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
KrogerTitleMAXC100Rule Register: Kroger PDP Guidelines, ideal length
12Kroger|Marketing message
Limits!A12=B12&"|"&C12Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
KrogerMarketing messageRANGEC300400Rule Register: Kroger PDP Guidelines, roughly 300 to 400 characters
13Kroger|Bullet
Limits!A13=B13&"|"&C13Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
KrogerBulletNONEKroger sets a combined 2,000-character allowance, checked on the Copy Matrix summary.
14Target|Title
Limits!A14=B14&"|"&C14Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit.
TargetTitleHOLDCurrent Target rules are portal-only. Draft held until verified.

Product Truth

Every fact copy is allowed to use, and how it may be used. SPEC = usable as written. BASIS = usable only with its basis shown. TASTE = subjective descriptor, needs brand sign-off. HOLD = legal or brand review first. NO = do not claim. All values are modeled.

ABCDEF
4Fact IDAttributeValueStatusSourceUsed in (count on Copy Matrix)
5F01BrandLakeshift Coffee Co.SPECBrand spec sheet0
Product Truth!F5=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A5&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
6F02Line nameDay ShiftSPECBrand spec sheet7
Product Truth!F6=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A6&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
7F03Roast levelMedium, 3 on the roaster's 1 to 5 scaleSPECRoast log11
Product Truth!F7=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A7&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
8F04Coffee species100% ArabicaSPECGreen coffee supplier spec8
Product Truth!F8=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A8&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
9F05OriginsColombia and GuatemalaSPECGreen coffee supplier spec5
Product Truth!F9=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A9&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
10F06FormGround, medium grindSPECBrand spec sheet10
Product Truth!F10=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A10&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
11F07Suited brewersAutomatic drip machines and pour-over brewersSPECGrind size on spec sheet6
Product Truth!F11=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A11&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
12F08Net weight12 oz (340 g)SPECPack artwork7
Product Truth!F12=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A12&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
13F09Tasting notesMilk chocolate, toasted almond, orange zestTASTERoaster's cupping notes6
Product Truth!F13=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A13&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
14F10Roasted and packedGrand Rapids, MichiganSPECBrand spec sheet4
Product Truth!F14=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A14&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
15F11Roast dateStamped on the back of every bagSPECPack artwork6
Product Truth!F15=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A15&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
16F12BagResealable zipper, one-way valveSPECPack spec4
Product Truth!F16=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A16&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
17F13Brew guide on pack2 level tablespoons (about 10 g) per 6 fl oz of waterSPECPack artwork4
Product Truth!F17=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A17&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
18F14YieldAbout 34 six-ounce cups per bagBASISDerived: 340 g / 10 g per cup (F08, F13)5
Product Truth!F18=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A18&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
19F15IngredientsCoffeeSPECPack artwork0
Product Truth!F19=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A19&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
20F16CertificationsNone heldNOBrand spec sheet. Do not claim organic, fair trade or kosher.0
Product Truth!F20=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A20&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
21F17CaffeineNot testedNONo lab data. Do not describe strength or caffeine level.0
Product Truth!F21=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A21&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
22F18Freshness durationNot testedHOLD'Stays fresh longer' needs shelf-life data and legal sign-off.0
Product Truth!F22=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A22&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.
23F19Country-of-origin wordingNot approvedHOLD'Made in USA' is a regulated claim. Use 'roasted and packed in Grand Rapids, Michigan' only.0
Product Truth!F23=COUNTIF('Copy Matrix'!$O$5:$O$60,"*"&A23&"*")Counts how many rows on the Copy Matrix cite this fact. A fact used nowhere is either missing from the copy or not needed.

Shopper Questions

What a shopper needs answered before buying. These are hypotheses written from the category, not findings. On a live account I would confirm and rank them from reviews, on-page Q&A and search-term reports before writing.

ABCDE
4IDQuestionWhere the page answers itFactsEvidence type
5Q1Is this ground or whole bean?Title, image 3, attributeF06Hypothesis
6Q2How dark is it? Will it taste bitter?Title, Item Highlights, image 2F03, F09Hypothesis
7Q3Will it work in my coffee maker?Item Highlights, bullet 2, image 3F06, F07Hypothesis
8Q4How many cups will I get?Bullet 4, image 4F08, F13, F14Hypothesis
9Q5How fresh will it be when it arrives?Item Highlights, bullet 3, image 5F11Hypothesis
10Q6Where is the coffee from, and who roasts it?Bullet 5, image 6F04, F05, F10Hypothesis
11Q7Does the bag close again?Bullet 5, image 5F12Hypothesis
12Q8Is it organic or fair trade?Answer truthfully in Q&A. No certification language anywhere.F16Hypothesis
13Q9Which Lakeshift roast is right for me?Image 7, comparison module, variation selectorF03Hypothesis

Message Hierarchy

The order the story is told in, everywhere. Each message names the facts that prove it and the page elements that carry it. Product promise: A balanced medium roast, ground and ready for your drip machine, with the roast date on every bag.

ABCDE
4OrderMessageIn shopper wordsProof (fact IDs)Carried by
51What it isDay Shift medium roast ground coffee, 12 ozF02, F03, F06, F08Title
62What it tastes likeBalanced, with milk chocolate, toasted almond and orange zestF09Item Highlights, image 2
73It fits how you brewGround for drip machines and pour-overF06, F07Item Highlights, image 3
84You can see how fresh it isRoast date stamped on every bagF11Item Highlights, image 5
95What you getAbout 34 cups, in a bag that zips shutF12, F14Bullets, image 4
106Where it comes fromColombia and Guatemala Arabica, roasted in Grand RapidsF04, F05, F10Bullets, image 6
117Find your roastEarly Shift, Day Shift, Night ShiftF03Image 7, comparison module

Copy Matrix

One row per field per retailer for the Day Shift ground SKU. Edit the copy in the yellow column. Length, limit and status recalculate. 'No verified limit' and 'HOLD' mean I could not confirm a current public number, so the row needs the retailer's own template before submission.

ABCDEFGHIJKLMNO
4RetailerFieldSKUVersionCopyCharsWordsRule typeMinMaxStatusHeadroomRestricted charactersAll caps?Facts used
5AmazonTitleLS-DS-G12As found (modeled)Lakeshift Coffee Day Shift Medium Roast Ground Coffee 12 oz Bag, Premium Gourmet 100% Arabica Coffee, Smooth & Bold Flavor, Best Coffee for Drip Coffee Makers, Fresh Roasted!174
Copy Matrix!F5=LEN(E5)Counts the characters in the copy, spaces included, the way the retailers count them.
28
Copy Matrix!G5=IF(LEN(TRIM(E5))=0,0,LEN(TRIM(E5))-LEN(SUBSTITUTE(TRIM(E5)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H5=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A5&"|"&B5,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I5=IF(OR(H5="MINW",H5="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A5&"|"&B5,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
75
Copy Matrix!J5=IF(OR(H5="MAXC",H5="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A5&"|"&B5,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
OVER by 99
Copy Matrix!K5=IF(H5="MAXC",IF(F5<=J5,"PASS","OVER by "&(F5-J5)),IF(H5="MINW",IF(G5>=I5,"PASS","UNDER by "&(I5-G5)),IF(H5="RANGEC",IF(AND(F5>=I5,F5<=J5),"PASS",IF(F5<I5,"UNDER by "&(I5-F5),"OVER by "&(F5-J5))),IF(H5="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
-99
Copy Matrix!L5=IF(OR(H5="MAXC",H5="RANGEC"),J5-F5,"")Room left: the limit minus the count. Negative means over.
CHECK
Copy Matrix!M5=IF(B5="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E5)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N5=IF(EXACT(E5,UPPER(E5)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F02, F03, F04, F06, F08
6AmazonTitleLS-DS-G12Draft 1Lakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz Bag71
Copy Matrix!F6=LEN(E6)Counts the characters in the copy, spaces included, the way the retailers count them.
12
Copy Matrix!G6=IF(LEN(TRIM(E6))=0,0,LEN(TRIM(E6))-LEN(SUBSTITUTE(TRIM(E6)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H6=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A6&"|"&B6,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I6=IF(OR(H6="MINW",H6="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A6&"|"&B6,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
75
Copy Matrix!J6=IF(OR(H6="MAXC",H6="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A6&"|"&B6,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K6=IF(H6="MAXC",IF(F6<=J6,"PASS","OVER by "&(F6-J6)),IF(H6="MINW",IF(G6>=I6,"PASS","UNDER by "&(I6-G6)),IF(H6="RANGEC",IF(AND(F6>=I6,F6<=J6),"PASS",IF(F6<I6,"UNDER by "&(I6-F6),"OVER by "&(F6-J6))),IF(H6="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
4
Copy Matrix!L6=IF(OR(H6="MAXC",H6="RANGEC"),J6-F6,"")Room left: the limit minus the count. Negative means over.
OK
Copy Matrix!M6=IF(B6="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E6)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N6=IF(EXACT(E6,UPPER(E6)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F02, F03, F04, F06, F08
7AmazonTitleLS-DS-G12FinalLakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz67
Copy Matrix!F7=LEN(E7)Counts the characters in the copy, spaces included, the way the retailers count them.
11
Copy Matrix!G7=IF(LEN(TRIM(E7))=0,0,LEN(TRIM(E7))-LEN(SUBSTITUTE(TRIM(E7)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H7=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A7&"|"&B7,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I7=IF(OR(H7="MINW",H7="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A7&"|"&B7,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
75
Copy Matrix!J7=IF(OR(H7="MAXC",H7="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A7&"|"&B7,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K7=IF(H7="MAXC",IF(F7<=J7,"PASS","OVER by "&(F7-J7)),IF(H7="MINW",IF(G7>=I7,"PASS","UNDER by "&(I7-G7)),IF(H7="RANGEC",IF(AND(F7>=I7,F7<=J7),"PASS",IF(F7<I7,"UNDER by "&(I7-F7),"OVER by "&(F7-J7))),IF(H7="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
8
Copy Matrix!L7=IF(OR(H7="MAXC",H7="RANGEC"),J7-F7,"")Room left: the limit minus the count. Negative means over.
OK
Copy Matrix!M7=IF(B7="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E7)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N7=IF(EXACT(E7,UPPER(E7)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F02, F03, F04, F06, F08
8AmazonItem HighlightsLS-DS-G12FinalMilk chocolate, toasted almond and orange zest notes. Ground for drip and pour-over. Roast date stamped on every bag.117
Copy Matrix!F8=LEN(E8)Counts the characters in the copy, spaces included, the way the retailers count them.
19
Copy Matrix!G8=IF(LEN(TRIM(E8))=0,0,LEN(TRIM(E8))-LEN(SUBSTITUTE(TRIM(E8)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H8=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A8&"|"&B8,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I8=IF(OR(H8="MINW",H8="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A8&"|"&B8,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
125
Copy Matrix!J8=IF(OR(H8="MAXC",H8="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A8&"|"&B8,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K8=IF(H8="MAXC",IF(F8<=J8,"PASS","OVER by "&(F8-J8)),IF(H8="MINW",IF(G8>=I8,"PASS","UNDER by "&(I8-G8)),IF(H8="RANGEC",IF(AND(F8>=I8,F8<=J8),"PASS",IF(F8<I8,"UNDER by "&(I8-F8),"OVER by "&(F8-J8))),IF(H8="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
8
Copy Matrix!L8=IF(OR(H8="MAXC",H8="RANGEC"),J8-F8,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M8=IF(B8="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E8)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N8=IF(EXACT(E8,UPPER(E8)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F07, F09, F11
9AmazonBulletLS-DS-G12Final 1Balanced medium roast: Day Shift sits at 3 on our 1 to 5 roast scale, with tasting notes of milk chocolate, toasted almond and orange zest.139
Copy Matrix!F9=LEN(E9)Counts the characters in the copy, spaces included, the way the retailers count them.
26
Copy Matrix!G9=IF(LEN(TRIM(E9))=0,0,LEN(TRIM(E9))-LEN(SUBSTITUTE(TRIM(E9)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H9=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A9&"|"&B9,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I9=IF(OR(H9="MINW",H9="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A9&"|"&B9,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J9=IF(OR(H9="MAXC",H9="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A9&"|"&B9,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K9=IF(H9="MAXC",IF(F9<=J9,"PASS","OVER by "&(F9-J9)),IF(H9="MINW",IF(G9>=I9,"PASS","UNDER by "&(I9-G9)),IF(H9="RANGEC",IF(AND(F9>=I9,F9<=J9),"PASS",IF(F9<I9,"UNDER by "&(I9-F9),"OVER by "&(F9-J9))),IF(H9="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L9=IF(OR(H9="MAXC",H9="RANGEC"),J9-F9,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M9=IF(B9="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E9)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N9=IF(EXACT(E9,UPPER(E9)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F03, F09
10AmazonBulletLS-DS-G12Final 2Ground for drip and pour-over: A medium grind for automatic drip machines and pour-over brewers, so you can brew it straight from the bag.138
Copy Matrix!F10=LEN(E10)Counts the characters in the copy, spaces included, the way the retailers count them.
24
Copy Matrix!G10=IF(LEN(TRIM(E10))=0,0,LEN(TRIM(E10))-LEN(SUBSTITUTE(TRIM(E10)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H10=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A10&"|"&B10,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I10=IF(OR(H10="MINW",H10="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A10&"|"&B10,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J10=IF(OR(H10="MAXC",H10="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A10&"|"&B10,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K10=IF(H10="MAXC",IF(F10<=J10,"PASS","OVER by "&(F10-J10)),IF(H10="MINW",IF(G10>=I10,"PASS","UNDER by "&(I10-G10)),IF(H10="RANGEC",IF(AND(F10>=I10,F10<=J10),"PASS",IF(F10<I10,"UNDER by "&(I10-F10),"OVER by "&(F10-J10))),IF(H10="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L10=IF(OR(H10="MAXC",H10="RANGEC"),J10-F10,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M10=IF(B10="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E10)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N10=IF(EXACT(E10,UPPER(E10)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F06, F07
11AmazonBulletLS-DS-G12Final 3Roast date on every bag: Each bag is stamped with the day it was roasted, so you can check how fresh it is before you open it.126
Copy Matrix!F11=LEN(E11)Counts the characters in the copy, spaces included, the way the retailers count them.
27
Copy Matrix!G11=IF(LEN(TRIM(E11))=0,0,LEN(TRIM(E11))-LEN(SUBSTITUTE(TRIM(E11)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H11=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A11&"|"&B11,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I11=IF(OR(H11="MINW",H11="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A11&"|"&B11,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J11=IF(OR(H11="MAXC",H11="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A11&"|"&B11,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K11=IF(H11="MAXC",IF(F11<=J11,"PASS","OVER by "&(F11-J11)),IF(H11="MINW",IF(G11>=I11,"PASS","UNDER by "&(I11-G11)),IF(H11="RANGEC",IF(AND(F11>=I11,F11<=J11),"PASS",IF(F11<I11,"UNDER by "&(I11-F11),"OVER by "&(F11-J11))),IF(H11="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L11=IF(OR(H11="MAXC",H11="RANGEC"),J11-F11,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M11=IF(B11="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E11)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N11=IF(EXACT(E11,UPPER(E11)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F11
12AmazonBulletLS-DS-G12Final 4About 34 cups per bag: A 12 oz (340 g) bag makes about 34 six-ounce cups at the brew guide on the pack, 2 level tablespoons for every 6 fl oz of water.151
Copy Matrix!F12=LEN(E12)Counts the characters in the copy, spaces included, the way the retailers count them.
33
Copy Matrix!G12=IF(LEN(TRIM(E12))=0,0,LEN(TRIM(E12))-LEN(SUBSTITUTE(TRIM(E12)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H12=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A12&"|"&B12,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I12=IF(OR(H12="MINW",H12="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A12&"|"&B12,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J12=IF(OR(H12="MAXC",H12="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A12&"|"&B12,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K12=IF(H12="MAXC",IF(F12<=J12,"PASS","OVER by "&(F12-J12)),IF(H12="MINW",IF(G12>=I12,"PASS","UNDER by "&(I12-G12)),IF(H12="RANGEC",IF(AND(F12>=I12,F12<=J12),"PASS",IF(F12<I12,"UNDER by "&(I12-F12),"OVER by "&(F12-J12))),IF(H12="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L12=IF(OR(H12="MAXC",H12="RANGEC"),J12-F12,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M12=IF(B12="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E12)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N12=IF(EXACT(E12,UPPER(E12)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F08, F13, F14
13AmazonBulletLS-DS-G12Final 5Colombia and Guatemala, roasted in Michigan: 100% Arabica coffee, roasted and packed in Grand Rapids. The bag zips shut between brews.134
Copy Matrix!F13=LEN(E13)Counts the characters in the copy, spaces included, the way the retailers count them.
21
Copy Matrix!G13=IF(LEN(TRIM(E13))=0,0,LEN(TRIM(E13))-LEN(SUBSTITUTE(TRIM(E13)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H13=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A13&"|"&B13,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I13=IF(OR(H13="MINW",H13="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A13&"|"&B13,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J13=IF(OR(H13="MAXC",H13="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A13&"|"&B13,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K13=IF(H13="MAXC",IF(F13<=J13,"PASS","OVER by "&(F13-J13)),IF(H13="MINW",IF(G13>=I13,"PASS","UNDER by "&(I13-G13)),IF(H13="RANGEC",IF(AND(F13>=I13,F13<=J13),"PASS",IF(F13<I13,"UNDER by "&(I13-F13),"OVER by "&(F13-J13))),IF(H13="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L13=IF(OR(H13="MAXC",H13="RANGEC"),J13-F13,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M13=IF(B13="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E13)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N13=IF(EXACT(E13,UPPER(E13)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F04, F05, F10, F12
14WalmartTitleLS-DS-G12FinalLakeshift Day Shift Medium Roast Ground Coffee, Colombia and Guatemala Arabica, 12 oz Resealable Bag100
Copy Matrix!F14=LEN(E14)Counts the characters in the copy, spaces included, the way the retailers count them.
15
Copy Matrix!G14=IF(LEN(TRIM(E14))=0,0,LEN(TRIM(E14))-LEN(SUBSTITUTE(TRIM(E14)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H14=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A14&"|"&B14,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I14=IF(OR(H14="MINW",H14="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A14&"|"&B14,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
150
Copy Matrix!J14=IF(OR(H14="MAXC",H14="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A14&"|"&B14,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K14=IF(H14="MAXC",IF(F14<=J14,"PASS","OVER by "&(F14-J14)),IF(H14="MINW",IF(G14>=I14,"PASS","UNDER by "&(I14-G14)),IF(H14="RANGEC",IF(AND(F14>=I14,F14<=J14),"PASS",IF(F14<I14,"UNDER by "&(I14-F14),"OVER by "&(F14-J14))),IF(H14="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
50
Copy Matrix!L14=IF(OR(H14="MAXC",H14="RANGEC"),J14-F14,"")Room left: the limit minus the count. Negative means over.
OK
Copy Matrix!M14=IF(B14="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E14)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N14=IF(EXACT(E14,UPPER(E14)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F02, F03, F04, F05, F06, F08, F12
15WalmartKey featureLS-DS-G12Final 1Medium roast, 3 on our 1 to 5 roast scale41
Copy Matrix!F15=LEN(E15)Counts the characters in the copy, spaces included, the way the retailers count them.
10
Copy Matrix!G15=IF(LEN(TRIM(E15))=0,0,LEN(TRIM(E15))-LEN(SUBSTITUTE(TRIM(E15)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H15=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A15&"|"&B15,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I15=IF(OR(H15="MINW",H15="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A15&"|"&B15,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
80
Copy Matrix!J15=IF(OR(H15="MAXC",H15="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A15&"|"&B15,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K15=IF(H15="MAXC",IF(F15<=J15,"PASS","OVER by "&(F15-J15)),IF(H15="MINW",IF(G15>=I15,"PASS","UNDER by "&(I15-G15)),IF(H15="RANGEC",IF(AND(F15>=I15,F15<=J15),"PASS",IF(F15<I15,"UNDER by "&(I15-F15),"OVER by "&(F15-J15))),IF(H15="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
39
Copy Matrix!L15=IF(OR(H15="MAXC",H15="RANGEC"),J15-F15,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M15=IF(B15="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E15)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N15=IF(EXACT(E15,UPPER(E15)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F03
16WalmartKey featureLS-DS-G12Final 2Tasting notes of milk chocolate, toasted almond and orange zest63
Copy Matrix!F16=LEN(E16)Counts the characters in the copy, spaces included, the way the retailers count them.
10
Copy Matrix!G16=IF(LEN(TRIM(E16))=0,0,LEN(TRIM(E16))-LEN(SUBSTITUTE(TRIM(E16)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H16=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A16&"|"&B16,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I16=IF(OR(H16="MINW",H16="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A16&"|"&B16,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
80
Copy Matrix!J16=IF(OR(H16="MAXC",H16="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A16&"|"&B16,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K16=IF(H16="MAXC",IF(F16<=J16,"PASS","OVER by "&(F16-J16)),IF(H16="MINW",IF(G16>=I16,"PASS","UNDER by "&(I16-G16)),IF(H16="RANGEC",IF(AND(F16>=I16,F16<=J16),"PASS",IF(F16<I16,"UNDER by "&(I16-F16),"OVER by "&(F16-J16))),IF(H16="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
17
Copy Matrix!L16=IF(OR(H16="MAXC",H16="RANGEC"),J16-F16,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M16=IF(B16="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E16)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N16=IF(EXACT(E16,UPPER(E16)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F09
17WalmartKey featureLS-DS-G12Final 3Ground for automatic drip machines and pour-over brewers56
Copy Matrix!F17=LEN(E17)Counts the characters in the copy, spaces included, the way the retailers count them.
8
Copy Matrix!G17=IF(LEN(TRIM(E17))=0,0,LEN(TRIM(E17))-LEN(SUBSTITUTE(TRIM(E17)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H17=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A17&"|"&B17,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I17=IF(OR(H17="MINW",H17="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A17&"|"&B17,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
80
Copy Matrix!J17=IF(OR(H17="MAXC",H17="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A17&"|"&B17,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K17=IF(H17="MAXC",IF(F17<=J17,"PASS","OVER by "&(F17-J17)),IF(H17="MINW",IF(G17>=I17,"PASS","UNDER by "&(I17-G17)),IF(H17="RANGEC",IF(AND(F17>=I17,F17<=J17),"PASS",IF(F17<I17,"UNDER by "&(I17-F17),"OVER by "&(F17-J17))),IF(H17="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
24
Copy Matrix!L17=IF(OR(H17="MAXC",H17="RANGEC"),J17-F17,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M17=IF(B17="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E17)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N17=IF(EXACT(E17,UPPER(E17)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F06, F07
18WalmartKey featureLS-DS-G12Final 4Roast date stamped on every bag31
Copy Matrix!F18=LEN(E18)Counts the characters in the copy, spaces included, the way the retailers count them.
6
Copy Matrix!G18=IF(LEN(TRIM(E18))=0,0,LEN(TRIM(E18))-LEN(SUBSTITUTE(TRIM(E18)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H18=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A18&"|"&B18,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I18=IF(OR(H18="MINW",H18="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A18&"|"&B18,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
80
Copy Matrix!J18=IF(OR(H18="MAXC",H18="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A18&"|"&B18,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K18=IF(H18="MAXC",IF(F18<=J18,"PASS","OVER by "&(F18-J18)),IF(H18="MINW",IF(G18>=I18,"PASS","UNDER by "&(I18-G18)),IF(H18="RANGEC",IF(AND(F18>=I18,F18<=J18),"PASS",IF(F18<I18,"UNDER by "&(I18-F18),"OVER by "&(F18-J18))),IF(H18="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
49
Copy Matrix!L18=IF(OR(H18="MAXC",H18="RANGEC"),J18-F18,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M18=IF(B18="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E18)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N18=IF(EXACT(E18,UPPER(E18)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F11
19WalmartKey featureLS-DS-G12Final 5About 34 six-ounce cups per bag at the brew guide on the pack61
Copy Matrix!F19=LEN(E19)Counts the characters in the copy, spaces included, the way the retailers count them.
13
Copy Matrix!G19=IF(LEN(TRIM(E19))=0,0,LEN(TRIM(E19))-LEN(SUBSTITUTE(TRIM(E19)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H19=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A19&"|"&B19,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I19=IF(OR(H19="MINW",H19="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A19&"|"&B19,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
80
Copy Matrix!J19=IF(OR(H19="MAXC",H19="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A19&"|"&B19,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K19=IF(H19="MAXC",IF(F19<=J19,"PASS","OVER by "&(F19-J19)),IF(H19="MINW",IF(G19>=I19,"PASS","UNDER by "&(I19-G19)),IF(H19="RANGEC",IF(AND(F19>=I19,F19<=J19),"PASS",IF(F19<I19,"UNDER by "&(I19-F19),"OVER by "&(F19-J19))),IF(H19="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
19
Copy Matrix!L19=IF(OR(H19="MAXC",H19="RANGEC"),J19-F19,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M19=IF(B19="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E19)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N19=IF(EXACT(E19,UPPER(E19)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F13, F14
20WalmartKey featureLS-DS-G12Final 6Arabica coffee from Colombia and Guatemala, roasted in Grand Rapids, Michigan77
Copy Matrix!F20=LEN(E20)Counts the characters in the copy, spaces included, the way the retailers count them.
11
Copy Matrix!G20=IF(LEN(TRIM(E20))=0,0,LEN(TRIM(E20))-LEN(SUBSTITUTE(TRIM(E20)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H20=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A20&"|"&B20,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I20=IF(OR(H20="MINW",H20="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A20&"|"&B20,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
80
Copy Matrix!J20=IF(OR(H20="MAXC",H20="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A20&"|"&B20,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K20=IF(H20="MAXC",IF(F20<=J20,"PASS","OVER by "&(F20-J20)),IF(H20="MINW",IF(G20>=I20,"PASS","UNDER by "&(I20-G20)),IF(H20="RANGEC",IF(AND(F20>=I20,F20<=J20),"PASS",IF(F20<I20,"UNDER by "&(I20-F20),"OVER by "&(F20-J20))),IF(H20="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
3
Copy Matrix!L20=IF(OR(H20="MAXC",H20="RANGEC"),J20-F20,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M20=IF(B20="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E20)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N20=IF(EXACT(E20,UPPER(E20)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F04, F05, F10
21WalmartKey featureLS-DS-G12Final 7Resealable zipper bag with a one-way valve42
Copy Matrix!F21=LEN(E21)Counts the characters in the copy, spaces included, the way the retailers count them.
7
Copy Matrix!G21=IF(LEN(TRIM(E21))=0,0,LEN(TRIM(E21))-LEN(SUBSTITUTE(TRIM(E21)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H21=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A21&"|"&B21,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I21=IF(OR(H21="MINW",H21="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A21&"|"&B21,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
80
Copy Matrix!J21=IF(OR(H21="MAXC",H21="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A21&"|"&B21,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K21=IF(H21="MAXC",IF(F21<=J21,"PASS","OVER by "&(F21-J21)),IF(H21="MINW",IF(G21>=I21,"PASS","UNDER by "&(I21-G21)),IF(H21="RANGEC",IF(AND(F21>=I21,F21<=J21),"PASS",IF(F21<I21,"UNDER by "&(I21-F21),"OVER by "&(F21-J21))),IF(H21="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
38
Copy Matrix!L21=IF(OR(H21="MAXC",H21="RANGEC"),J21-F21,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M21=IF(B21="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E21)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N21=IF(EXACT(E21,UPPER(E21)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F12
22WalmartDescriptionLS-DS-G12FinalDay Shift is the middle of the Lakeshift lineup, a medium roast for people who want one coffee that works all day. We roast Arabica coffee from Colombia and Guatemala to 3 on our 1 to 5 scale, far enough for body and not so far that the roast covers the coffee. In the cup, expect milk chocolate and toasted almond with a little orange zest at the finish. This bag is ground to a medium grind for automatic drip machines and pour-over brewers, so there is nothing to grind and nothing to guess. Use 2 level tablespoons for every 6 fluid ounces of water, the same guide printed on the pack, and a 12 ounce bag makes about 34 cups. Every bag is stamped with the day it was roasted in Grand Rapids, Michigan, so you can check how fresh it is before you open it. The zipper closes the bag between brews. If you like a brighter cup, try Early Shift. If you like it darker, try Night Shift.884
Copy Matrix!F22=LEN(E22)Counts the characters in the copy, spaces included, the way the retailers count them.
171
Copy Matrix!G22=IF(LEN(TRIM(E22))=0,0,LEN(TRIM(E22))-LEN(SUBSTITUTE(TRIM(E22)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MINW
Copy Matrix!H22=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A22&"|"&B22,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
150
Copy Matrix!I22=IF(OR(H22="MINW",H22="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A22&"|"&B22,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J22=IF(OR(H22="MAXC",H22="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A22&"|"&B22,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K22=IF(H22="MAXC",IF(F22<=J22,"PASS","OVER by "&(F22-J22)),IF(H22="MINW",IF(G22>=I22,"PASS","UNDER by "&(I22-G22)),IF(H22="RANGEC",IF(AND(F22>=I22,F22<=J22),"PASS",IF(F22<I22,"UNDER by "&(I22-F22),"OVER by "&(F22-J22))),IF(H22="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L22=IF(OR(H22="MAXC",H22="RANGEC"),J22-F22,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M22=IF(B22="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E22)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N22=IF(EXACT(E22,UPPER(E22)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F02, F03, F04, F05, F06, F07, F09, F10, F11, F12, F13, F14
23KrogerTitleLS-DS-G12FinalLakeshift Day Shift Medium Roast Ground Coffee46
Copy Matrix!F23=LEN(E23)Counts the characters in the copy, spaces included, the way the retailers count them.
7
Copy Matrix!G23=IF(LEN(TRIM(E23))=0,0,LEN(TRIM(E23))-LEN(SUBSTITUTE(TRIM(E23)," ",""))+1)Counts the words: the number of spaces between words, plus one.
MAXC
Copy Matrix!H23=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A23&"|"&B23,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I23=IF(OR(H23="MINW",H23="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A23&"|"&B23,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
100
Copy Matrix!J23=IF(OR(H23="MAXC",H23="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A23&"|"&B23,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K23=IF(H23="MAXC",IF(F23<=J23,"PASS","OVER by "&(F23-J23)),IF(H23="MINW",IF(G23>=I23,"PASS","UNDER by "&(I23-G23)),IF(H23="RANGEC",IF(AND(F23>=I23,F23<=J23),"PASS",IF(F23<I23,"UNDER by "&(I23-F23),"OVER by "&(F23-J23))),IF(H23="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
54
Copy Matrix!L23=IF(OR(H23="MAXC",H23="RANGEC"),J23-F23,"")Room left: the limit minus the count. Negative means over.
OK
Copy Matrix!M23=IF(B23="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E23)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N23=IF(EXACT(E23,UPPER(E23)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F02, F03, F06
24KrogerMarketing messageLS-DS-G12FinalDay Shift is a balanced medium roast with notes of milk chocolate, toasted almond and orange zest. It is ground for drip machines and pour-over brewers, and every bag is stamped with its roast date so you can see how fresh it is. One 12 oz bag makes about 34 six-ounce cups at the brew guide on the pack.304
Copy Matrix!F24=LEN(E24)Counts the characters in the copy, spaces included, the way the retailers count them.
59
Copy Matrix!G24=IF(LEN(TRIM(E24))=0,0,LEN(TRIM(E24))-LEN(SUBSTITUTE(TRIM(E24)," ",""))+1)Counts the words: the number of spaces between words, plus one.
RANGEC
Copy Matrix!H24=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A24&"|"&B24,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
300
Copy Matrix!I24=IF(OR(H24="MINW",H24="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A24&"|"&B24,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
400
Copy Matrix!J24=IF(OR(H24="MAXC",H24="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A24&"|"&B24,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
PASS
Copy Matrix!K24=IF(H24="MAXC",IF(F24<=J24,"PASS","OVER by "&(F24-J24)),IF(H24="MINW",IF(G24>=I24,"PASS","UNDER by "&(I24-G24)),IF(H24="RANGEC",IF(AND(F24>=I24,F24<=J24),"PASS",IF(F24<I24,"UNDER by "&(I24-F24),"OVER by "&(F24-J24))),IF(H24="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
96
Copy Matrix!L24=IF(OR(H24="MAXC",H24="RANGEC"),J24-F24,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M24=IF(B24="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E24)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N24=IF(EXACT(E24,UPPER(E24)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F03, F07, F09, F11, F14
25KrogerBulletLS-DS-G12Final 1Medium roast, 3 on our 1 to 5 roast scale41
Copy Matrix!F25=LEN(E25)Counts the characters in the copy, spaces included, the way the retailers count them.
10
Copy Matrix!G25=IF(LEN(TRIM(E25))=0,0,LEN(TRIM(E25))-LEN(SUBSTITUTE(TRIM(E25)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H25=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A25&"|"&B25,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I25=IF(OR(H25="MINW",H25="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A25&"|"&B25,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J25=IF(OR(H25="MAXC",H25="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A25&"|"&B25,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K25=IF(H25="MAXC",IF(F25<=J25,"PASS","OVER by "&(F25-J25)),IF(H25="MINW",IF(G25>=I25,"PASS","UNDER by "&(I25-G25)),IF(H25="RANGEC",IF(AND(F25>=I25,F25<=J25),"PASS",IF(F25<I25,"UNDER by "&(I25-F25),"OVER by "&(F25-J25))),IF(H25="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L25=IF(OR(H25="MAXC",H25="RANGEC"),J25-F25,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M25=IF(B25="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E25)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N25=IF(EXACT(E25,UPPER(E25)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F03
26KrogerBulletLS-DS-G12Final 2Notes of milk chocolate, toasted almond and orange zest55
Copy Matrix!F26=LEN(E26)Counts the characters in the copy, spaces included, the way the retailers count them.
9
Copy Matrix!G26=IF(LEN(TRIM(E26))=0,0,LEN(TRIM(E26))-LEN(SUBSTITUTE(TRIM(E26)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H26=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A26&"|"&B26,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I26=IF(OR(H26="MINW",H26="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A26&"|"&B26,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J26=IF(OR(H26="MAXC",H26="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A26&"|"&B26,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K26=IF(H26="MAXC",IF(F26<=J26,"PASS","OVER by "&(F26-J26)),IF(H26="MINW",IF(G26>=I26,"PASS","UNDER by "&(I26-G26)),IF(H26="RANGEC",IF(AND(F26>=I26,F26<=J26),"PASS",IF(F26<I26,"UNDER by "&(I26-F26),"OVER by "&(F26-J26))),IF(H26="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L26=IF(OR(H26="MAXC",H26="RANGEC"),J26-F26,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M26=IF(B26="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E26)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N26=IF(EXACT(E26,UPPER(E26)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F09
27KrogerBulletLS-DS-G12Final 3Ground for drip machines and pour-over brewers46
Copy Matrix!F27=LEN(E27)Counts the characters in the copy, spaces included, the way the retailers count them.
7
Copy Matrix!G27=IF(LEN(TRIM(E27))=0,0,LEN(TRIM(E27))-LEN(SUBSTITUTE(TRIM(E27)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H27=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A27&"|"&B27,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I27=IF(OR(H27="MINW",H27="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A27&"|"&B27,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J27=IF(OR(H27="MAXC",H27="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A27&"|"&B27,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K27=IF(H27="MAXC",IF(F27<=J27,"PASS","OVER by "&(F27-J27)),IF(H27="MINW",IF(G27>=I27,"PASS","UNDER by "&(I27-G27)),IF(H27="RANGEC",IF(AND(F27>=I27,F27<=J27),"PASS",IF(F27<I27,"UNDER by "&(I27-F27),"OVER by "&(F27-J27))),IF(H27="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L27=IF(OR(H27="MAXC",H27="RANGEC"),J27-F27,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M27=IF(B27="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E27)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N27=IF(EXACT(E27,UPPER(E27)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F06, F07
28KrogerBulletLS-DS-G12Final 4Roast date stamped on every bag31
Copy Matrix!F28=LEN(E28)Counts the characters in the copy, spaces included, the way the retailers count them.
6
Copy Matrix!G28=IF(LEN(TRIM(E28))=0,0,LEN(TRIM(E28))-LEN(SUBSTITUTE(TRIM(E28)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H28=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A28&"|"&B28,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I28=IF(OR(H28="MINW",H28="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A28&"|"&B28,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J28=IF(OR(H28="MAXC",H28="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A28&"|"&B28,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K28=IF(H28="MAXC",IF(F28<=J28,"PASS","OVER by "&(F28-J28)),IF(H28="MINW",IF(G28>=I28,"PASS","UNDER by "&(I28-G28)),IF(H28="RANGEC",IF(AND(F28>=I28,F28<=J28),"PASS",IF(F28<I28,"UNDER by "&(I28-F28),"OVER by "&(F28-J28))),IF(H28="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L28=IF(OR(H28="MAXC",H28="RANGEC"),J28-F28,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M28=IF(B28="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E28)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N28=IF(EXACT(E28,UPPER(E28)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F11
29KrogerBulletLS-DS-G12Final 5About 34 six-ounce cups per 12 oz bag at the brew guide on the pack67
Copy Matrix!F29=LEN(E29)Counts the characters in the copy, spaces included, the way the retailers count them.
15
Copy Matrix!G29=IF(LEN(TRIM(E29))=0,0,LEN(TRIM(E29))-LEN(SUBSTITUTE(TRIM(E29)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H29=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A29&"|"&B29,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I29=IF(OR(H29="MINW",H29="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A29&"|"&B29,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J29=IF(OR(H29="MAXC",H29="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A29&"|"&B29,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K29=IF(H29="MAXC",IF(F29<=J29,"PASS","OVER by "&(F29-J29)),IF(H29="MINW",IF(G29>=I29,"PASS","UNDER by "&(I29-G29)),IF(H29="RANGEC",IF(AND(F29>=I29,F29<=J29),"PASS",IF(F29<I29,"UNDER by "&(I29-F29),"OVER by "&(F29-J29))),IF(H29="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L29=IF(OR(H29="MAXC",H29="RANGEC"),J29-F29,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M29=IF(B29="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E29)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N29=IF(EXACT(E29,UPPER(E29)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F08, F13, F14
30KrogerBulletLS-DS-G12Final 6Arabica coffee from Colombia and Guatemala, roasted in Grand Rapids, Michigan77
Copy Matrix!F30=LEN(E30)Counts the characters in the copy, spaces included, the way the retailers count them.
11
Copy Matrix!G30=IF(LEN(TRIM(E30))=0,0,LEN(TRIM(E30))-LEN(SUBSTITUTE(TRIM(E30)," ",""))+1)Counts the words: the number of spaces between words, plus one.
NONE
Copy Matrix!H30=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A30&"|"&B30,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I30=IF(OR(H30="MINW",H30="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A30&"|"&B30,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J30=IF(OR(H30="MAXC",H30="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A30&"|"&B30,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
No verified limit
Copy Matrix!K30=IF(H30="MAXC",IF(F30<=J30,"PASS","OVER by "&(F30-J30)),IF(H30="MINW",IF(G30>=I30,"PASS","UNDER by "&(I30-G30)),IF(H30="RANGEC",IF(AND(F30>=I30,F30<=J30),"PASS",IF(F30<I30,"UNDER by "&(I30-F30),"OVER by "&(F30-J30))),IF(H30="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L30=IF(OR(H30="MAXC",H30="RANGEC"),J30-F30,"")Room left: the limit minus the count. Negative means over.
empty
Copy Matrix!M30=IF(B30="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E30)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N30=IF(EXACT(E30,UPPER(E30)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F04, F05, F10
31TargetTitleLS-DS-G12Draft, heldLakeshift Day Shift Medium Roast Ground Coffee - 12oz53
Copy Matrix!F31=LEN(E31)Counts the characters in the copy, spaces included, the way the retailers count them.
9
Copy Matrix!G31=IF(LEN(TRIM(E31))=0,0,LEN(TRIM(E31))-LEN(SUBSTITUTE(TRIM(E31)," ",""))+1)Counts the words: the number of spaces between words, plus one.
HOLD
Copy Matrix!H31=IFERROR(INDEX(Limits!$D$5:$D$14,MATCH(A31&"|"&B31,Limits!$A$5:$A$14,0)),"NONE")Looks up the kind of limit for this retailer and field on the Limits sheet: maximum characters, minimum words, a range, held, or none.
empty
Copy Matrix!I31=IF(OR(H31="MINW",H31="RANGEC"),INDEX(Limits!$E$5:$E$14,MATCH(A31&"|"&B31,Limits!$A$5:$A$14,0)),"")Looks up the minimum, when the limit has one.
empty
Copy Matrix!J31=IF(OR(H31="MAXC",H31="RANGEC"),INDEX(Limits!$F$5:$F$14,MATCH(A31&"|"&B31,Limits!$A$5:$A$14,0)),"")Looks up the maximum, when the limit has one.
HOLD: verify in portal
Copy Matrix!K31=IF(H31="MAXC",IF(F31<=J31,"PASS","OVER by "&(F31-J31)),IF(H31="MINW",IF(G31>=I31,"PASS","UNDER by "&(I31-G31)),IF(H31="RANGEC",IF(AND(F31>=I31,F31<=J31),"PASS",IF(F31<I31,"UNDER by "&(I31-F31),"OVER by "&(F31-J31))),IF(H31="HOLD","HOLD: verify in portal","No verified limit"))))Compares the count with the limit for this retailer and field and says PASS, or by how much it misses.
empty
Copy Matrix!L31=IF(OR(H31="MAXC",H31="RANGEC"),J31-F31,"")Room left: the limit minus the count. Negative means over.
OK
Copy Matrix!M31=IF(B31="Title",IF(SUMPRODUCT(--ISNUMBER(FIND({"!","$","?","_","{","}","^"},E31)))>0,"CHECK","OK"),"")Looks for the characters Amazon does not allow in titles (! $ ? _ { } ^) and says CHECK if it finds one.
OK
Copy Matrix!N31=IF(EXACT(E31,UPPER(E31)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages.
F02, F03, F06, F08
33Rows passing a verified limit14
Copy Matrix!F33=COUNTIF(K5:K31,"PASS")Counts the rows that pass a verified limit.
34Rows failing a verified limit1
Copy Matrix!F34=COUNTIF(K5:K31,"OVER*")+COUNTIF(K5:K31,"UNDER*")Counts the rows that are over or under a verified limit.
35Rows with no verified limit or held12
Copy Matrix!F35=COUNTIF(K5:K31,"No*")+COUNTIF(K5:K31,"HOLD*")Counts the rows with no verified limit, or held.
36Kroger bullets + marketing message, characters (allowance 2,000)621
Copy Matrix!F36=SUMPRODUCT((A5:A31="Kroger")*((B5:B31="Bullet")+(B5:B31="Marketing message"))*F5:F31)Adds up the characters in Kroger's bullets and marketing message, to compare with the 2,000-character allowance.
37Walmart key features, count (rule: 3 to 10)7
Copy Matrix!F37=COUNTIFS(A5:A31,"Walmart",B5:B31,"Key feature")Counts Walmart key features, to compare with the rule of three to ten.
38Kroger bullets, count (guide: 5 to 7)6
Copy Matrix!F38=COUNTIFS(A5:A31,"Kroger",B5:B31,"Bullet")Counts Kroger bullets, to compare with the guide of five to seven.
40Note: the one failing row is the as-found title, kept here on purpose as the starting point.

Variations

Six SKUs, one title pattern per retailer. Titles are built by formula from the pattern cells, so a pattern is tested against the whole family at once. Draft 1 fits five SKUs and fails the sixth by one character. Draft 2 drops one word for all six.

ABCDEFGHIJKLMNOP
4BrandLakeshift
5Amazon suffix, draft 1, 100% Arabica, 12 oz Bag
6Amazon suffix, draft 2, 100% Arabica, 12 oz
7Walmart suffix, Colombia and Guatemala Arabica, 12 oz Resealable Bag
8Amazon title limit75
Variations!B8=INDEX(Limits!$F$5:$F$14,MATCH("Amazon|Title",Limits!$A$5:$A$14,0))Pulls the title limit for this retailer from the Limits sheet, so a rule change updates every SKU.
9Walmart title limit150
Variations!B9=INDEX(Limits!$F$5:$F$14,MATCH("Walmart|Title",Limits!$A$5:$A$14,0))Pulls the title limit for this retailer from the Limits sheet, so a rule change updates every SKU.
10Kroger title limit100
Variations!B10=INDEX(Limits!$F$5:$F$14,MATCH("Kroger|Title",Limits!$A$5:$A$14,0))Pulls the title limit for this retailer from the Limits sheet, so a rule change updates every SKU.
12SKULineRoastFormAmazon title, draft 1CharsStatusAmazon title, draft 2CharsStatusKroger titleCharsStatusWalmart titleCharsStatus
13LS-ES-G12Early ShiftLightGroundLakeshift Early Shift Light Roast Ground Coffee, 100% Arabica, 12 oz Bag
Variations!E13=$B$4&" "&B13&" "&C13&" Roast "&D13&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
72
Variations!F13=LEN(E13)Counts the characters in the title built on this row.
PASS
Variations!G13=IF(F13<=$B$8,"PASS","OVER by "&(F13-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Early Shift Light Roast Ground Coffee, 100% Arabica, 12 oz
Variations!H13=$B$4&" "&B13&" "&C13&" Roast "&D13&" Coffee"&$B$6Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
68
Variations!I13=LEN(H13)Counts the characters in the title built on this row.
PASS
Variations!J13=IF(I13<=$B$8,"PASS","OVER by "&(I13-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Early Shift Light Roast Ground Coffee
Variations!K13=$B$4&" "&B13&" "&C13&" Roast "&D13&" Coffee"Builds Kroger's title from the same pattern, with no suffix: Kroger asks for no commas and no size.
47
Variations!L13=LEN(K13)Counts the characters in the title built on this row.
PASS
Variations!M13=IF(L13<=$B$10,"PASS","OVER by "&(L13-$B$10))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Early Shift Light Roast Ground Coffee, Colombia and Guatemala Arabica, 12 oz Resealable Bag
Variations!N13=$B$4&" "&B13&" "&C13&" Roast "&D13&" Coffee"&$B$7Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
101
Variations!O13=LEN(N13)Counts the characters in the title built on this row.
PASS
Variations!P13=IF(O13<=$B$9,"PASS","OVER by "&(O13-$B$9))Compares this SKU's title with the retailer's limit and says by how much it misses.
14LS-ES-W12Early ShiftLightWhole BeanLakeshift Early Shift Light Roast Whole Bean Coffee, 100% Arabica, 12 oz Bag
Variations!E14=$B$4&" "&B14&" "&C14&" Roast "&D14&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
76
Variations!F14=LEN(E14)Counts the characters in the title built on this row.
OVER by 1
Variations!G14=IF(F14<=$B$8,"PASS","OVER by "&(F14-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Early Shift Light Roast Whole Bean Coffee, 100% Arabica, 12 oz
Variations!H14=$B$4&" "&B14&" "&C14&" Roast "&D14&" Coffee"&$B$6Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
72
Variations!I14=LEN(H14)Counts the characters in the title built on this row.
PASS
Variations!J14=IF(I14<=$B$8,"PASS","OVER by "&(I14-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Early Shift Light Roast Whole Bean Coffee
Variations!K14=$B$4&" "&B14&" "&C14&" Roast "&D14&" Coffee"Builds Kroger's title from the same pattern, with no suffix: Kroger asks for no commas and no size.
51
Variations!L14=LEN(K14)Counts the characters in the title built on this row.
PASS
Variations!M14=IF(L14<=$B$10,"PASS","OVER by "&(L14-$B$10))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Early Shift Light Roast Whole Bean Coffee, Colombia and Guatemala Arabica, 12 oz Resealable Bag
Variations!N14=$B$4&" "&B14&" "&C14&" Roast "&D14&" Coffee"&$B$7Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
105
Variations!O14=LEN(N14)Counts the characters in the title built on this row.
PASS
Variations!P14=IF(O14<=$B$9,"PASS","OVER by "&(O14-$B$9))Compares this SKU's title with the retailer's limit and says by how much it misses.
15LS-DS-G12Day ShiftMediumGroundLakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz Bag
Variations!E15=$B$4&" "&B15&" "&C15&" Roast "&D15&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
71
Variations!F15=LEN(E15)Counts the characters in the title built on this row.
PASS
Variations!G15=IF(F15<=$B$8,"PASS","OVER by "&(F15-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz
Variations!H15=$B$4&" "&B15&" "&C15&" Roast "&D15&" Coffee"&$B$6Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
67
Variations!I15=LEN(H15)Counts the characters in the title built on this row.
PASS
Variations!J15=IF(I15<=$B$8,"PASS","OVER by "&(I15-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Day Shift Medium Roast Ground Coffee
Variations!K15=$B$4&" "&B15&" "&C15&" Roast "&D15&" Coffee"Builds Kroger's title from the same pattern, with no suffix: Kroger asks for no commas and no size.
46
Variations!L15=LEN(K15)Counts the characters in the title built on this row.
PASS
Variations!M15=IF(L15<=$B$10,"PASS","OVER by "&(L15-$B$10))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Day Shift Medium Roast Ground Coffee, Colombia and Guatemala Arabica, 12 oz Resealable Bag
Variations!N15=$B$4&" "&B15&" "&C15&" Roast "&D15&" Coffee"&$B$7Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
100
Variations!O15=LEN(N15)Counts the characters in the title built on this row.
PASS
Variations!P15=IF(O15<=$B$9,"PASS","OVER by "&(O15-$B$9))Compares this SKU's title with the retailer's limit and says by how much it misses.
16LS-DS-W12Day ShiftMediumWhole BeanLakeshift Day Shift Medium Roast Whole Bean Coffee, 100% Arabica, 12 oz Bag
Variations!E16=$B$4&" "&B16&" "&C16&" Roast "&D16&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
75
Variations!F16=LEN(E16)Counts the characters in the title built on this row.
PASS
Variations!G16=IF(F16<=$B$8,"PASS","OVER by "&(F16-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Day Shift Medium Roast Whole Bean Coffee, 100% Arabica, 12 oz
Variations!H16=$B$4&" "&B16&" "&C16&" Roast "&D16&" Coffee"&$B$6Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
71
Variations!I16=LEN(H16)Counts the characters in the title built on this row.
PASS
Variations!J16=IF(I16<=$B$8,"PASS","OVER by "&(I16-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Day Shift Medium Roast Whole Bean Coffee
Variations!K16=$B$4&" "&B16&" "&C16&" Roast "&D16&" Coffee"Builds Kroger's title from the same pattern, with no suffix: Kroger asks for no commas and no size.
50
Variations!L16=LEN(K16)Counts the characters in the title built on this row.
PASS
Variations!M16=IF(L16<=$B$10,"PASS","OVER by "&(L16-$B$10))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Day Shift Medium Roast Whole Bean Coffee, Colombia and Guatemala Arabica, 12 oz Resealable Bag
Variations!N16=$B$4&" "&B16&" "&C16&" Roast "&D16&" Coffee"&$B$7Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
104
Variations!O16=LEN(N16)Counts the characters in the title built on this row.
PASS
Variations!P16=IF(O16<=$B$9,"PASS","OVER by "&(O16-$B$9))Compares this SKU's title with the retailer's limit and says by how much it misses.
17LS-NS-G12Night ShiftDarkGroundLakeshift Night Shift Dark Roast Ground Coffee, 100% Arabica, 12 oz Bag
Variations!E17=$B$4&" "&B17&" "&C17&" Roast "&D17&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
71
Variations!F17=LEN(E17)Counts the characters in the title built on this row.
PASS
Variations!G17=IF(F17<=$B$8,"PASS","OVER by "&(F17-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Night Shift Dark Roast Ground Coffee, 100% Arabica, 12 oz
Variations!H17=$B$4&" "&B17&" "&C17&" Roast "&D17&" Coffee"&$B$6Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
67
Variations!I17=LEN(H17)Counts the characters in the title built on this row.
PASS
Variations!J17=IF(I17<=$B$8,"PASS","OVER by "&(I17-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Night Shift Dark Roast Ground Coffee
Variations!K17=$B$4&" "&B17&" "&C17&" Roast "&D17&" Coffee"Builds Kroger's title from the same pattern, with no suffix: Kroger asks for no commas and no size.
46
Variations!L17=LEN(K17)Counts the characters in the title built on this row.
PASS
Variations!M17=IF(L17<=$B$10,"PASS","OVER by "&(L17-$B$10))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Night Shift Dark Roast Ground Coffee, Colombia and Guatemala Arabica, 12 oz Resealable Bag
Variations!N17=$B$4&" "&B17&" "&C17&" Roast "&D17&" Coffee"&$B$7Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
100
Variations!O17=LEN(N17)Counts the characters in the title built on this row.
PASS
Variations!P17=IF(O17<=$B$9,"PASS","OVER by "&(O17-$B$9))Compares this SKU's title with the retailer's limit and says by how much it misses.
18LS-NS-W12Night ShiftDarkWhole BeanLakeshift Night Shift Dark Roast Whole Bean Coffee, 100% Arabica, 12 oz Bag
Variations!E18=$B$4&" "&B18&" "&C18&" Roast "&D18&" Coffee"&$B$5Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
75
Variations!F18=LEN(E18)Counts the characters in the title built on this row.
PASS
Variations!G18=IF(F18<=$B$8,"PASS","OVER by "&(F18-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Night Shift Dark Roast Whole Bean Coffee, 100% Arabica, 12 oz
Variations!H18=$B$4&" "&B18&" "&C18&" Roast "&D18&" Coffee"&$B$6Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
71
Variations!I18=LEN(H18)Counts the characters in the title built on this row.
PASS
Variations!J18=IF(I18<=$B$8,"PASS","OVER by "&(I18-$B$8))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Night Shift Dark Roast Whole Bean Coffee
Variations!K18=$B$4&" "&B18&" "&C18&" Roast "&D18&" Coffee"Builds Kroger's title from the same pattern, with no suffix: Kroger asks for no commas and no size.
50
Variations!L18=LEN(K18)Counts the characters in the title built on this row.
PASS
Variations!M18=IF(L18<=$B$10,"PASS","OVER by "&(L18-$B$10))Compares this SKU's title with the retailer's limit and says by how much it misses.
Lakeshift Night Shift Dark Roast Whole Bean Coffee, Colombia and Guatemala Arabica, 12 oz Resealable Bag
Variations!N18=$B$4&" "&B18&" "&C18&" Roast "&D18&" Coffee"&$B$7Builds the title from the pattern: brand, line, roast, form, then the suffix typed in the yellow cell.
104
Variations!O18=LEN(N18)Counts the characters in the title built on this row.
PASS
Variations!P18=IF(O18<=$B$9,"PASS","OVER by "&(O18-$B$9))Compares this SKU's title with the retailer's limit and says by how much it misses.
20Longest Amazon title, draft 176
Variations!B20=MAX(F13:F18)The longest title in the family. If the longest fits, every title fits.
Pattern fits all SKUs?NO
Variations!E20=IF(MAX(F13:F18)<=$B$8,"YES","NO")Says YES only if the longest title in the family is inside the limit: one pattern that holds for every SKU.
21Longest Amazon title, draft 272
Variations!B21=MAX(I13:I18)The longest title in the family. If the longest fits, every title fits.
Pattern fits all SKUs?YES
Variations!E21=IF(MAX(I13:I18)<=$B$8,"YES","NO")Says YES only if the longest title in the family is inside the limit: one pattern that holds for every SKU.
22Longest Kroger title51
Variations!B22=MAX(L13:L18)The longest title in the family. If the longest fits, every title fits.
Pattern fits all SKUs?YES
Variations!E22=IF(MAX(L13:L18)<=$B$10,"YES","NO")Says YES only if the longest title in the family is inside the limit: one pattern that holds for every SKU.
23Longest Walmart title105
Variations!B23=MAX(O13:O18)The longest title in the family. If the longest fits, every title fits.
Pattern fits all SKUs?YES
Variations!E23=IF(MAX(O13:O18)<=$B$9,"YES","NO")Says YES only if the longest title in the family is inside the limit: one pattern that holds for every SKU.
25Attribute names for roast and form must match each retailer's own template values exactly. Confirm them in the category template before setting up a variation family. Walmart allows up to three varying attributes per group (Rule Register).

Audit Scorecard

My rubric for the condition of PDP content: 14 checks in five weighted areas, each scored 0 (missing or wrong), 1 (partial) or 2 (meets it). It measures content, not sales, and it is not an industry-standard score. The 'draft rewrite' column scores copy that has not been published.

ABCDEFGHI
4AreaArea weightIDCheckAs found (0-2)Draft rewrite (0-2)MaxObservation, as foundNote on the draft
5Rule compliance25A1Title is inside the retailer's limit and character rules022Title is more than twice the 75-character limit, ends in '!', and repeats one word five times.Met in the draft copy and brief.
6Rule compliance25A2Bullets are free of restricted content022One emoji, one money-back guarantee.Met in the draft copy and brief.
7Rule compliance25A3Main image meets the main-image rule222Pack on white, no text.Met in the draft copy and brief.
8Accuracy and claims20B1Every claim traces to a product fact022'Premium', 'gourmet' and 'best beans' have no fact behind them.Met in the draft copy and brief.
9Accuracy and claims20B2No superlatives, guarantees or implied certifications022'Best Coffee', 'best taste', 'satisfaction guaranteed'.Met in the draft copy and brief.
10Shopper questions25C1Form (ground or whole bean) is unmistakable above the fold122'Ground Coffee' sits mid-title in a 174-character string, and the first bullet talks about beans.Met in the draft copy and brief.
11Shopper questions25C2Roast and taste are described in concrete terms022'Smooth & Bold' says two opposite things and names no flavor.Met in the draft copy and brief.
12Shopper questions25C3Brewer fit is stated122'Drip Coffee Makers' is in the title only.Met in the draft copy and brief.
13Shopper questions25C4Quantity and yield are stated122Net weight only.Met in the draft copy and brief.
14Shopper questions25C5Freshness is addressed with a fact022'Fresh Roasted!' with nothing to check it against.Met in the draft copy and brief.
15Story consistency15D1Title, bullets and images follow one message order022Bullets repeat quality claims. Nothing follows from the title.Met in the draft copy and brief.
16Story consistency15D2Variation titles follow one pattern022Six separate listings, each titled differently.Met in the draft copy and brief.
17Depth15E1Image set covers the main shopper questions012Two images. Neither shows the grind, the yield or the roast date.Brief written. Images not yet produced.
18Depth15E2Enhanced content is present where the brand is eligible002None.Layout outlined only. Needs Brand Registry and assets.
20AreaWeightAs foundDraft rewrite
21Rule compliance258
Audit Scorecard!E21=SUMIF($A$5:$A$18,A21,$E$5:$E$18)/SUMIF($A$5:$A$18,A21,$G$5:$G$18)*B21Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
25
Audit Scorecard!F21=SUMIF($A$5:$A$18,A21,$F$5:$F$18)/SUMIF($A$5:$A$18,A21,$G$5:$G$18)*B21Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
22Accuracy and claims200
Audit Scorecard!E22=SUMIF($A$5:$A$18,A22,$E$5:$E$18)/SUMIF($A$5:$A$18,A22,$G$5:$G$18)*B22Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
20
Audit Scorecard!F22=SUMIF($A$5:$A$18,A22,$F$5:$F$18)/SUMIF($A$5:$A$18,A22,$G$5:$G$18)*B22Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
23Shopper questions258
Audit Scorecard!E23=SUMIF($A$5:$A$18,A23,$E$5:$E$18)/SUMIF($A$5:$A$18,A23,$G$5:$G$18)*B23Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
25
Audit Scorecard!F23=SUMIF($A$5:$A$18,A23,$F$5:$F$18)/SUMIF($A$5:$A$18,A23,$G$5:$G$18)*B23Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
24Story consistency150
Audit Scorecard!E24=SUMIF($A$5:$A$18,A24,$E$5:$E$18)/SUMIF($A$5:$A$18,A24,$G$5:$G$18)*B24Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
15
Audit Scorecard!F24=SUMIF($A$5:$A$18,A24,$F$5:$F$18)/SUMIF($A$5:$A$18,A24,$G$5:$G$18)*B24Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
25Depth150
Audit Scorecard!E25=SUMIF($A$5:$A$18,A25,$E$5:$E$18)/SUMIF($A$5:$A$18,A25,$G$5:$G$18)*B25Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
4
Audit Scorecard!F25=SUMIF($A$5:$A$18,A25,$F$5:$F$18)/SUMIF($A$5:$A$18,A25,$G$5:$G$18)*B25Adds the scores in this area, divides by the most it could score, and multiplies by the area's weight.
26Total (out of 100)100
Audit Scorecard!B26=SUM(B21:B25)Adds the five weighted areas into a score out of 100.
16
Audit Scorecard!E26=SUM(E21:E25)Adds the five weighted areas into a score out of 100.
89
Audit Scorecard!F26=SUM(F21:F25)Adds the five weighted areas into a score out of 100.
27BandNeeds work
Audit Scorecard!E27=IF(E26>=80,"Strong",IF(E26>=50,"Adequate","Needs work"))Turns the score into a band: 80 and up is Strong, 50 and up Adequate, below that Needs work.
Strong
Audit Scorecard!F27=IF(F26>=80,"Strong",IF(F26>=50,"Adequate","Needs work"))Turns the score into a band: 80 and up is Strong, 50 and up Adequate, below that Needs work.
29Read the band, not the decimal. Weights and band cut-offs (80, 50) are my judgment and can be changed in the yellow and weight cells. A higher score means the content answers more of what a shopper needs and breaks fewer rules. It does not predict sales.

Priorities

What to fix first. Impact, evidence and effort are each scored 1 to 3. Priority = impact x evidence / effort. Evidence: 3 = published retailer requirement, 2 = retailer recommendation or consistent observation, 1 = hypothesis with no data yet.

ABCDEFGHI
4IDRecommendationShopper impact (1-3)Evidence (1-3)Effort (1-3)PriorityRankDepends onWhy
5R1Rewrite all six titles to one 75-character pattern3319.0
Priorities!F5=C5*D5/E5Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first.
1
Priorities!G5=RANK(F5,$F$5:$F$11)Ranks the recommendation by its priority score, highest first.
NoneA published rule. Amazon rewrites titles that are over the limit.
6R2Replace the three bullets with five written from product facts3319.0
Priorities!F6=C6*D6/E6Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first.
1
Priorities!G6=RANK(F6,$F$5:$F$11)Ranks the recommendation by its priority score, highest first.
Claims sign-offRemoves an emoji and a guarantee that Amazon restricts.
7R3Fill the new Item Highlights field2316.0
Priorities!F7=C7*D7/E7Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first.
3
Priorities!G7=RANK(F7,$F$5:$F$11)Ranks the recommendation by its priority score, highest first.
NoneA published field with 125 searchable characters that the listing leaves empty.
8R4Build the seven-image carousel3232.0
Priorities!F8=C8*D8/E8Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first.
4
Priorities!G8=RANK(F8,$F$5:$F$11)Ranks the recommendation by its priority score, highest first.
Photography, brand sign-offEight of the nine shopper questions name an image as one of the places they get answered.
9R5Group the six listings into one variation family2222.0
Priorities!F9=C9*D9/E9Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first.
4
Priorities!G9=RANK(F9,$F$5:$F$11)Ranks the recommendation by its priority score, highest first.
Confirm the variation theme in the category templateLets a shopper switch roast and form on one page.
10R6Add a five-module A+ layout2130.7
Priorities!F10=C10*D10/E10Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first.
6
Priorities!G10=RANK(F10,$F$5:$F$11)Ranks the recommendation by its priority score, highest first.
Brand Registry, carousel assetsNo measured data for this brand yet, so this is a hypothesis.
11R7Open a Brand Store1130.3
Priorities!F11=C11*D11/E11Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first.
7
Priorities!G11=RANK(F11,$F$5:$F$11)Ranks the recommendation by its priority score, highest first.
Brand Registry, A+ assetsUseful once the lineup grows. Low priority at six SKUs.

QA Checklist

Twelve checks run on every asset before it is marked Approved. Record Pass, Fail or N/A per retailer. Sample results below are for the Day Shift ground SKU drafts in this file.

ABCDEFGH
4IDCheckTypeAmazonWalmartKrogerTargetNote
5Q01Every sentence traces to a fact ID on the Product Truth sheetAccuracyPassPassPassPass
6Q02No claim marked HOLD or NO appears anywhere, including image textAccuracyPassPassPassPass
7Q03Calculated claims carry their basis in the same field or imageAccuracyPassPassPassPass
8Q04Each field is inside the retailer limit on the Copy MatrixCompliancePassPassPassN/ATarget has no verified limit to check against.
9Q05No restricted characters, emojis, all-caps words or guarantee languageCompliancePassPassPassPass
10Q06No word appears more than twice in a titleCompliancePassPassPassPass
11Q07Line name, roast and form are spelled identically in every field and retailerConsistencyPassPassPassPass
12Q08All six variation titles follow the same pattern and all pass the limitConsistencyPassPassPassPass
13Q09Image headline text matches the approved carousel brief word for wordConsistencyN/AN/AN/AN/AImages not produced yet.
14Q10Spelling, grammar and units checked by a second readerProofingPassPassPassPass
15Q11Alt text written for every imageProofingPassPassPassPassAlt text is written in the Carousel Brief.
16Q12Rule Register dates are inside 90 days, or the rule has been re-checkedCurrencyPassPassPassPass
18Checks passed11
QA Checklist!D18=COUNTIF(D5:D16,"Pass")Counts the checks this retailer's copy passed.
11
QA Checklist!E18=COUNTIF(E5:E16,"Pass")Counts the checks this retailer's copy passed.
11
QA Checklist!F18=COUNTIF(F5:F16,"Pass")Counts the checks this retailer's copy passed.
10
QA Checklist!G18=COUNTIF(G5:G16,"Pass")Counts the checks this retailer's copy passed.
19Checks failed0
QA Checklist!D19=COUNTIF(D5:D16,"Fail")Counts the checks this retailer's copy failed.
0
QA Checklist!E19=COUNTIF(E5:E16,"Fail")Counts the checks this retailer's copy failed.
0
QA Checklist!F19=COUNTIF(F5:F16,"Fail")Counts the checks this retailer's copy failed.
0
QA Checklist!G19=COUNTIF(G5:G16,"Fail")Counts the checks this retailer's copy failed.
20Ready to mark Approved?YES
QA Checklist!D20=IF(COUNTIF(D5:D16,"Fail")=0,"YES","NO")Says YES only when nothing failed. One failure keeps the copy from being marked Approved.
YES
QA Checklist!E20=IF(COUNTIF(E5:E16,"Fail")=0,"YES","NO")Says YES only when nothing failed. One failure keeps the copy from being marked Approved.
YES
QA Checklist!F20=IF(COUNTIF(F5:F16,"Fail")=0,"YES","NO")Says YES only when nothing failed. One failure keeps the copy from being marked Approved.
YES
QA Checklist!G20=IF(COUNTIF(G5:G16,"Fail")=0,"YES","NO")Says YES only when nothing failed. One failure keeps the copy from being marked Approved.
Target stays Drafted until its rules are verified, whatever this row says.

Launch Tracker

One row per SKU per retailer. Six states, in order: Drafted, Approved, Submitted, Accepted, Published, Verified live. Published means the retailer shows it. Verified live means someone compared the live page to the submitted copy. All rows are sample data.

ABCDEFGHI
4SKURetailerAssetStateEntered stateDays in stateOwnerNext actionLive matches submitted?
5LS-ES-G12AmazonCore copyVerified live2026-10-083
Launch Tracker!F5=TODAY()-E5Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistRe-check on day 7 and day 30.Yes
6LS-ES-W12AmazonCore copyPublished2026-10-092
Launch Tracker!F6=TODAY()-E6Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistCompare the live title and highlights to the submitted copy.Not checked
7LS-DS-G12AmazonCore copyPublished2026-10-092
Launch Tracker!F7=TODAY()-E7Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistCompare the live title and highlights to the submitted copy.Not checked
8LS-DS-W12AmazonCore copyAccepted2026-10-074
Launch Tracker!F8=TODAY()-E8Days this SKU has been in its current state: today's date minus the date it entered the state.
RetailerWait for publication. Check again tomorrow.Not checked
9LS-NS-G12AmazonCore copySubmitted2026-10-065
Launch Tracker!F9=TODAY()-E9Days this SKU has been in its current state: today's date minus the date it entered the state.
RetailerAwaiting acceptance.Not checked
10LS-NS-W12AmazonCore copySubmitted2026-10-065
Launch Tracker!F10=TODAY()-E10Days this SKU has been in its current state: today's date minus the date it entered the state.
RetailerAwaiting acceptance.Not checked
11LS-ES-G12WalmartCore copySubmitted2026-10-074
Launch Tracker!F11=TODAY()-E11Days this SKU has been in its current state: today's date minus the date it entered the state.
RetailerAwaiting content review.Not checked
12LS-ES-W12WalmartCore copySubmitted2026-10-074
Launch Tracker!F12=TODAY()-E12Days this SKU has been in its current state: today's date minus the date it entered the state.
RetailerAwaiting content review.Not checked
13LS-DS-G12WalmartCore copyApproved2026-10-056
Launch Tracker!F13=TODAY()-E13Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the client's content provider.Not checked
14LS-DS-W12WalmartCore copyApproved2026-10-056
Launch Tracker!F14=TODAY()-E14Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the client's content provider.Not checked
15LS-NS-G12WalmartCore copyApproved2026-10-056
Launch Tracker!F15=TODAY()-E15Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the client's content provider.Not checked
16LS-NS-W12WalmartCore copyApproved2026-10-056
Launch Tracker!F16=TODAY()-E16Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the client's content provider.Not checked
17LS-ES-G12KrogerCore copyApproved2026-10-083
Launch Tracker!F17=TODAY()-E17Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the Item API provider. Content goes live without pre-review, so QA is final here.Not checked
18LS-ES-W12KrogerCore copyApproved2026-10-083
Launch Tracker!F18=TODAY()-E18Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the Item API provider. Content goes live without pre-review, so QA is final here.Not checked
19LS-DS-G12KrogerCore copyApproved2026-10-083
Launch Tracker!F19=TODAY()-E19Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the Item API provider. Content goes live without pre-review, so QA is final here.Not checked
20LS-DS-W12KrogerCore copyApproved2026-10-083
Launch Tracker!F20=TODAY()-E20Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the Item API provider. Content goes live without pre-review, so QA is final here.Not checked
21LS-NS-G12KrogerCore copyApproved2026-10-083
Launch Tracker!F21=TODAY()-E21Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the Item API provider. Content goes live without pre-review, so QA is final here.Not checked
22LS-NS-W12KrogerCore copyApproved2026-10-083
Launch Tracker!F22=TODAY()-E22Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistSubmit through the Item API provider. Content goes live without pre-review, so QA is final here.Not checked
23LS-ES-G12TargetCore copyDrafted2026-10-047
Launch Tracker!F23=TODAY()-E23Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistVerify current title and bullet rules in the portal before finalizing.Not checked
24LS-ES-W12TargetCore copyDrafted2026-10-047
Launch Tracker!F24=TODAY()-E24Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistVerify current title and bullet rules in the portal before finalizing.Not checked
25LS-DS-G12TargetCore copyDrafted2026-10-047
Launch Tracker!F25=TODAY()-E25Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistVerify current title and bullet rules in the portal before finalizing.Not checked
26LS-DS-W12TargetCore copyDrafted2026-10-047
Launch Tracker!F26=TODAY()-E26Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistVerify current title and bullet rules in the portal before finalizing.Not checked
27LS-NS-G12TargetCore copyDrafted2026-10-047
Launch Tracker!F27=TODAY()-E27Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistVerify current title and bullet rules in the portal before finalizing.Not checked
28LS-NS-W12TargetCore copyDrafted2026-10-047
Launch Tracker!F28=TODAY()-E28Days this SKU has been in its current state: today's date minus the date it entered the state.
SpecialistVerify current title and bullet rules in the portal before finalizing.Not checked
30StateRows
31Drafted6
Launch Tracker!B31=COUNTIF($D$5:$D$28,A31)Counts how many SKU and retailer rows are in this state.
32Approved10
Launch Tracker!B32=COUNTIF($D$5:$D$28,A32)Counts how many SKU and retailer rows are in this state.
33Submitted4
Launch Tracker!B33=COUNTIF($D$5:$D$28,A33)Counts how many SKU and retailer rows are in this state.
34Accepted1
Launch Tracker!B34=COUNTIF($D$5:$D$28,A34)Counts how many SKU and retailer rows are in this state.
35Published2
Launch Tracker!B35=COUNTIF($D$5:$D$28,A35)Counts how many SKU and retailer rows are in this state.
36Verified live1
Launch Tracker!B36=COUNTIF($D$5:$D$28,A36)Counts how many SKU and retailer rows are in this state.
37Total rows24
Launch Tracker!B37=COUNTA($A$5:$A$28)Counts the rows on the tracker: six SKUs times four retailers.
38Share verified live4%
Launch Tracker!B38=COUNTIF($D$5:$D$28,"Verified live")/COUNTA($A$5:$A$28)The share of rows someone has compared live against what was submitted.
39Longest wait (days)7
Launch Tracker!B39=MAX($F$5:$F$28)The longest any row has waited in its current state. The first thing to chase.

Monitoring Log

After go-live, paste what the retailer page actually shows next to what was submitted. Retailers can change submitted content: Amazon rewrites over-length titles, and Walmart's content team can override supplier copy. Rows below are modeled examples.

ABCDEFGH
4Date checkedRetailerSKUFieldSubmittedLive on pageResultAction
52026-10-08AmazonLS-DS-G12TitleLakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 ozLakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 ozMATCH
Monitoring Log!G5=IF(F5="","",IF(EXACT(E5,F5),"MATCH","DRIFT"))Compares the live page with what was submitted, letter for letter. Any difference is DRIFT.
None. Re-check on day 7.
62026-10-08AmazonLS-DS-G12Item HighlightsMilk chocolate, toasted almond and orange zest notes. Ground for drip and pour-over. Roast date stamped on every bag.Milk chocolate, toasted almond and orange zest notes. Ground for drip and pour-over. Roast date stamped on every bag.MATCH
Monitoring Log!G6=IF(F6="","",IF(EXACT(E6,F6),"MATCH","DRIFT"))Compares the live page with what was submitted, letter for letter. Any difference is DRIFT.
None.
72026-10-09AmazonLS-ES-W12TitleLakeshift Early Shift Light Roast Whole Bean Coffee, 100% Arabica, 12 ozLakeshift Early Shift Light Roast Whole Bean Coffee 12 ozDRIFT
Monitoring Log!G7=IF(F7="","",IF(EXACT(E7,F7),"MATCH","DRIFT"))Compares the live page with what was submitted, letter for letter. Any difference is DRIFT.
Modeled example of drift. Raise with the account lead, confirm which version the brand wants, resubmit.
9Schedule I would propose: check on day 1, day 7 and day 30 after publication, then once a quarter and after any retailer rule change on the Rule Register.

Assistant Question Test

A small, repeatable check of whether a retailer's shopping assistant can answer shopper questions from the facts on the page. Scope: one product, nine questions, asked on the live PDP before and after a content change. It records answers. It does not measure ranking, and assistant answers vary between sessions, so run each question three times.

ABCDEFGH
4Question IDQuestion askedCorrect answer from Product TruthFact IDsBefore: answered correctly? (of 3 runs)After: answered correctly? (of 3 runs)ChangeNotes
5Q1Is this ground or whole bean?Ground, medium grind.F06empty
Assistant Question Test!G5=IF(OR(E5="",F5=""),"",F5-E5)The change between the before and after runs, once both have been run.
6Q2How dark is it? Will it taste bitter?Medium roast, 3 on a 1 to 5 scale. Notes of milk chocolate, toasted almond and orange zest.F03, F09empty
Assistant Question Test!G6=IF(OR(E6="",F6=""),"",F6-E6)The change between the before and after runs, once both have been run.
7Q3Will it work in my coffee maker?Yes for automatic drip machines and pour-over brewers.F06, F07empty
Assistant Question Test!G7=IF(OR(E7="",F7=""),"",F7-E7)The change between the before and after runs, once both have been run.
8Q4How many cups will I get?About 34 six-ounce cups at 2 tablespoons per 6 fl oz.F08, F13, F14empty
Assistant Question Test!G8=IF(OR(E8="",F8=""),"",F8-E8)The change between the before and after runs, once both have been run.
9Q5How fresh will it be when it arrives?The roast date is stamped on every bag.F11empty
Assistant Question Test!G9=IF(OR(E9="",F9=""),"",F9-E9)The change between the before and after runs, once both have been run.
10Q6Where is the coffee from, and who roasts it?Arabica coffee from Colombia and Guatemala, roasted in Grand Rapids, Michigan.F04, F05, F10empty
Assistant Question Test!G10=IF(OR(E10="",F10=""),"",F10-E10)The change between the before and after runs, once both have been run.
11Q7Does the bag close again?Yes. The bag has a zipper.F12empty
Assistant Question Test!G11=IF(OR(E11="",F11=""),"",F11-E11)The change between the before and after runs, once both have been run.
12Q8Is it organic or fair trade?No certifications are held. The correct answer is that it is not certified.F16empty
Assistant Question Test!G12=IF(OR(E12="",F12=""),"",F12-E12)The change between the before and after runs, once both have been run.
13Q9Which Lakeshift roast is right for me?Early Shift is light, Day Shift is medium, Night Shift is dark.F03empty
Assistant Question Test!G13=IF(OR(E13="",F13=""),"",F13-E13)The change between the before and after runs, once both have been run.
15Total correct runs0
Assistant Question Test!E15=SUM(E5:E13)Total correct answers out of 27 runs: nine questions, three runs each.
0
Assistant Question Test!F15=SUM(F5:F13)Total correct answers out of 27 runs: nine questions, three runs each.
empty
Assistant Question Test!G15=IF(COUNT(E5:F13)=0,"",F15-E15)The change in total correct answers, once the test has been run.
Out of 27 runs each. Empty until the test is run on a live page.
17Limits: nine questions on one product is a spot check, not a study. No retailer has published guidance for brands on how its assistant uses product content (none found as of 2026-10-10). Treat results as a prompt for content fixes, not as proof of visibility.

Watch it explained

The 68-second intro shows the title cut and the six states. The longer walkthrough of the file is not public yet.

Watch the intro · 68 s

View only. The file itself is not offered for download.