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.
Day one
How the file would be used on a live account, in the order the work arrives.
- 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
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
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
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
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.
| A | E | F | G | |
|---|---|---|---|---|
| 12 | SKU | Amazon title, draft 1 | Chars | Status |
| 13 | LS-ES-G12 | Lakeshift Early Shift Light Roast Ground Coffee, 100% Arabica, 12 oz BagVariations!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. | 72Variations!F13=LEN(E13)Counts the characters in the title built on this row. | PASSVariations!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. |
| 14 | LS-ES-W12 | Lakeshift Early Shift Light Roast Whole Bean Coffee, 100% Arabica, 12 oz BagVariations!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. | 76Variations!F14=LEN(E14)Counts the characters in the title built on this row. | OVER by 1Variations!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. |
| 15 | LS-DS-G12 | Lakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz BagVariations!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. | 71Variations!F15=LEN(E15)Counts the characters in the title built on this row. | PASSVariations!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. |
| 16 | LS-DS-W12 | Lakeshift Day Shift Medium Roast Whole Bean Coffee, 100% Arabica, 12 oz BagVariations!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. | 75Variations!F16=LEN(E16)Counts the characters in the title built on this row. | PASSVariations!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. |
| 17 | LS-NS-G12 | Lakeshift Night Shift Dark Roast Ground Coffee, 100% Arabica, 12 oz BagVariations!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. | 71Variations!F17=LEN(E17)Counts the characters in the title built on this row. | PASSVariations!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. |
| 18 | LS-NS-W12 | Lakeshift Night Shift Dark Roast Whole Bean Coffee, 100% Arabica, 12 oz BagVariations!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. | 75Variations!F18=LEN(E18)Counts the characters in the title built on this row. | PASSVariations!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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 4 | Job | Name | What the posting asks for (paraphrased) | Sheets that do it | Chapter on the page |
| 5 | 1 | Know the rules | Be the subject expert on retailer requirements and page trends. | Rule Register, Limits | #rules |
| 6 | 2 | Audit the listing | Audit client brands and competitors; give prioritized content-update recommendations. | Audit Scorecard, Priorities | #audit |
| 7 | 3 | Write from facts | Turn product information and claims into content; write titles, highlights, bullets, below-the-fold. | Product Truth, Message Hierarchy, Copy Matrix | #write |
| 8 | 4 | Adapt per shelf | Message hierarchies that hold across PDP elements, variations and retailers. | Copy Matrix, Variations | #shelves |
| 9 | 5 | Brief the images | Write image-carousel messaging and briefs for creative. | Carousel Brief | #images |
| 10 | 6 | Ship and verify | Content moves through production, deployment, monitoring and optimization; QC for accuracy and compliance. | QA Checklist, Launch Tracker, Monitoring Log, Assistant Question Test | #ship |
| 12 | Read 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
| A | B | |
|---|---|---|
| 4 | What this is | A 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. |
| 5 | Why it exists | On 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. |
| 6 | What is real | The 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. |
| 7 | What is invented | Lakeshift 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. |
| 8 | What this file cannot show | Traffic, 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. |
| 9 | Cells you edit | Yellow 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. |
| 10 | Suggested order | Rule 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. |
| 11 | Example to try | On 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. |
| 12 | Prepared by | Mousa Batarseh. hireme@mousabatarseh.com. mousabatarseh.com |
| 13 | Status | Independent 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. |
| 14 | Copyright | © 2026 Mousa Batarseh. All rights reserved. Shared for evaluation. Do not redistribute or reuse without permission. |
| 16 | Legend | |
| 17 | Input cell. Edit this. | |
| 18 | Check passes. | |
| 19 | Check fails. Fix before submission. | |
| 20 | Held. The rule is not verified, or no limit is published. | |
| 22 | Day one | |
| 23 | How this file would be used on a live account, in the order the work arrives. | |
| 24 | 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. |
| 25 | 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. |
| 26 | 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. |
| 27 | 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. |
| 28 | 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. |
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.
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 | Retailer | Field | Rule | Limit | Unit | Confidence | Source | Link | Source date | Last checked | Age (days) | Re-check |
| 5 | Amazon | Title | 75 characters or less including spaces, all categories except media, from July 27, 2026 | 75 | chars | PUBLISHED | Amazon Seller Central news post (updated June 10, 2026) | sellercentral.amazon.com (opens in a new tab) | 2026-06-10 | 2026-10-10 | 1Rule Register!K5=TODAY()-J5Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. |
| 6 | Amazon | Item Highlights | New field, up to 125 searchable characters | 125 | chars | PUBLISHED | Amazon Seller Central news post (updated June 10, 2026) | sellercentral.amazon.com (opens in a new tab) | 2026-06-10 | 2026-10-10 | 1Rule Register!K6=TODAY()-J6Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. |
| 7 | Amazon | Title characters | No ! $ ? _ { } ^ ¬ ¦ 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. | PUBLISHED | Amazon Seller Central news post (effective January 21, 2025) | sellercentral.amazon.com (opens in a new tab) | 2025-01-21 | 2026-10-10 | 1Rule Register!K7=TODAY()-J7Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | ||
| 8 | Amazon | Bullets | Special characters, emojis and phrases such as refund guarantees are restricted (from August 15, 2024). Count and length limits sit in the category template. | PORTAL | Amazon Seller Central news post | sellercentral.amazon.com (opens in a new tab) | 2024-08-15 | 2026-10-10 | 1Rule Register!K8=TODAY()-J8Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | ||
| 9 | Amazon | Main image | Pure white background, product fills 85% or more of the frame, no text, logos or watermarks, at least 1000 px on the longest side | PUBLISHED | Amazon seller forum staff post and sell.amazon.com product photo guide | sell.amazon.com (opens in a new tab) | 2024-12-04 | 2026-10-10 | 1Rule Register!K9=TODAY()-J9Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | ||
| 10 | Amazon | A+ Content | For brand owners in Brand Registry (sellers) and vendors. Five to seven modules; review can take up to seven business days. | GUIDE | Amazon A+ Content best practices PDF (March 2023) | m.media-amazon.com (opens in a new tab) | 2023-03-28 | 2026-10-10 | 1Rule Register!K10=TODAY()-J10Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | ||
| 11 | Amazon | Brand Store | Free for sellers in Brand Registry, vendors and agencies | PUBLISHED | Amazon Ads, Stores | advertising.amazon.com (opens in a new tab) | 2026-10-10 | 1Rule Register!K11=TODAY()-J11Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | |||
| 12 | Walmart | Title | Not exceeding 150 characters. No all caps, special characters, promotional claims, retailer names or repeated keywords. | 150 | chars | PUBLISHED | Walmart Marketplace Learn, Product Detail Page overview | marketplacelearn.walmart.com (opens in a new tab) | 2026-10-06 | 2026-10-10 | 1Rule Register!K12=TODAY()-J12Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. |
| 13 | Walmart | Key features | Three to 10, most important first, 80 characters each including spaces | 80 | chars | PUBLISHED | Walmart Marketplace Learn, Product Detail Page overview | marketplacelearn.walmart.com (opens in a new tab) | 2026-10-06 | 2026-10-10 | 1Rule Register!K13=TODAY()-J13Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. |
| 14 | Walmart | Description | One paragraph, at least 150 words. Word counts can vary by category. | 150 | words min | PUBLISHED | Walmart Marketplace Learn, Product Detail Page overview | marketplacelearn.walmart.com (opens in a new tab) | 2026-10-06 | 2026-10-10 | 1Rule Register!K14=TODAY()-J14Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. |
| 15 | Walmart | Images | Main image on seamless white. At least four images recommended. 1500 x 1500 px minimum for zoom, 2200 x 2200 recommended. | PUBLISHED | Walmart Marketplace Learn, image guidelines | marketplacelearn.walmart.com (opens in a new tab) | 2026-05-12 | 2026-10-10 | 1Rule Register!K15=TODAY()-J15Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | ||
| 16 | Walmart | Variant group | Up to three varying attributes per group | 3 | attributes | PUBLISHED | Walmart Supplier One help, Set up variant groups | supplierone.helpdocs.io (opens in a new tab) | 2026-10-10 | 1Rule Register!K16=TODAY()-J16Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | |
| 17 | Walmart | Supplier (1P) style guide | Category style guides for suppliers sit behind the Supplier Academy login. | PORTAL | Walmart Supplier One help | supplierone.helpdocs.io (opens in a new tab) | 2026-10-10 | 1Rule Register!K17=TODAY()-J17Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | |||
| 18 | Kroger | Title | Brand + descriptor + variable + product name. Ideally 100 characters or less. Title case. No commas, no size or count. | 100 | chars | GUIDE | Kroger PDP Guidelines (July 2025), shared on Syndigo's community | community.syndigo.com (opens in a new tab) | 2025-07 | 2026-10-10 | 1Rule Register!K18=TODAY()-J18Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. |
| 19 | Kroger | Marketing message | Required. One to three sentences, roughly 300 to 400 characters, about the product, not the brand. | 400 | chars | GUIDE | Kroger PDP Guidelines (July 2025), shared on Syndigo's community | community.syndigo.com (opens in a new tab) | 2025-07 | 2026-10-10 | 1Rule Register!K19=TODAY()-J19Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. |
| 20 | Kroger | Bullets | Top five to seven features. No promotional or pricing language. | 7 | bullets | GUIDE | Kroger PDP Guidelines (July 2025), shared on Syndigo's community | community.syndigo.com (opens in a new tab) | 2025-07 | 2026-10-10 | 1Rule Register!K20=TODAY()-J20Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. |
| 21 | Kroger | Images | Six slots: one required main image and five alternates. 1000 px minimum. | 6 | images | GUIDE | Kroger PDP Guidelines (July 2025), shared on Syndigo's community | community.syndigo.com (opens in a new tab) | 2025-07 | 2026-10-10 | 1Rule Register!K21=TODAY()-J21Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. |
| 22 | Kroger | Submission | Item data goes through the Kroger Item API using Syndigo, 1WorldSync or Salsify. The Vendor Item Portal was switched off on April 1, 2026. | PUBLISHED | The Kroger Co., supplier item data responsibilities | thekrogerco.com (opens in a new tab) | 2026 | 2026-10-10 | 1Rule Register!K22=TODAY()-J22Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | ||
| 23 | Target | Title, bullets, description | Current rules sit inside Target's vendor and Target Plus portals. One public Target Plus checklist exists but carries no date. | PORTAL | Target Plus product page checklist (undated PDF) | gfc.target.com (opens in a new tab) | 2026-10-10 | 1Rule Register!K23=TODAY()-J23Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | |||
| 24 | Target | Enhanced content | Submitted through a content provider such as Syndigo or Salsify. | PORTAL | Syndigo, Target page | syndigo.com (opens in a new tab) | 2026-04-23 | 2026-10-10 | 1Rule Register!K24=TODAY()-J24Days since I last opened the source: today's date minus the 'last checked' date. | OKRule 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. | ||
| 26 | Assumption: 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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 4 | Key | Retailer | Field | Type | Min | Max | Basis |
| 5 | Amazon|TitleLimits!A5=B5&"|"&C5Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Amazon | Title | MAXC | 75 | Rule Register: Amazon title, effective July 27, 2026 | |
| 6 | Amazon|Item HighlightsLimits!A6=B6&"|"&C6Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Amazon | Item Highlights | MAXC | 125 | Rule Register: Amazon Item Highlights | |
| 7 | Amazon|BulletLimits!A7=B7&"|"&C7Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Amazon | Bullet | NONE | Amazon bullet length limits sit in the category template. Not verified publicly. | ||
| 8 | Walmart|TitleLimits!A8=B8&"|"&C8Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Walmart | Title | MAXC | 150 | Rule Register: Walmart Marketplace title | |
| 9 | Walmart|Key featureLimits!A9=B9&"|"&C9Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Walmart | Key feature | MAXC | 80 | Rule Register: Walmart key features | |
| 10 | Walmart|DescriptionLimits!A10=B10&"|"&C10Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Walmart | Description | MINW | 150 | Rule Register: Walmart description, at least 150 words | |
| 11 | Kroger|TitleLimits!A11=B11&"|"&C11Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Kroger | Title | MAXC | 100 | Rule Register: Kroger PDP Guidelines, ideal length | |
| 12 | Kroger|Marketing messageLimits!A12=B12&"|"&C12Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Kroger | Marketing message | RANGEC | 300 | 400 | Rule Register: Kroger PDP Guidelines, roughly 300 to 400 characters |
| 13 | Kroger|BulletLimits!A13=B13&"|"&C13Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Kroger | Bullet | NONE | Kroger sets a combined 2,000-character allowance, checked on the Copy Matrix summary. | ||
| 14 | Target|TitleLimits!A14=B14&"|"&C14Joins retailer and field into one lookup key, for example Amazon|Title, so other sheets can find the limit. | Target | Title | HOLD | Current 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.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 4 | Fact ID | Attribute | Value | Status | Source | Used in (count on Copy Matrix) |
| 5 | F01 | Brand | Lakeshift Coffee Co. | SPEC | Brand spec sheet | 0Product 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. |
| 6 | F02 | Line name | Day Shift | SPEC | Brand spec sheet | 7Product 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. |
| 7 | F03 | Roast level | Medium, 3 on the roaster's 1 to 5 scale | SPEC | Roast log | 11Product 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. |
| 8 | F04 | Coffee species | 100% Arabica | SPEC | Green coffee supplier spec | 8Product 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. |
| 9 | F05 | Origins | Colombia and Guatemala | SPEC | Green coffee supplier spec | 5Product 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. |
| 10 | F06 | Form | Ground, medium grind | SPEC | Brand spec sheet | 10Product 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. |
| 11 | F07 | Suited brewers | Automatic drip machines and pour-over brewers | SPEC | Grind size on spec sheet | 6Product 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. |
| 12 | F08 | Net weight | 12 oz (340 g) | SPEC | Pack artwork | 7Product 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. |
| 13 | F09 | Tasting notes | Milk chocolate, toasted almond, orange zest | TASTE | Roaster's cupping notes | 6Product 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. |
| 14 | F10 | Roasted and packed | Grand Rapids, Michigan | SPEC | Brand spec sheet | 4Product 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. |
| 15 | F11 | Roast date | Stamped on the back of every bag | SPEC | Pack artwork | 6Product 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. |
| 16 | F12 | Bag | Resealable zipper, one-way valve | SPEC | Pack spec | 4Product 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. |
| 17 | F13 | Brew guide on pack | 2 level tablespoons (about 10 g) per 6 fl oz of water | SPEC | Pack artwork | 4Product 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. |
| 18 | F14 | Yield | About 34 six-ounce cups per bag | BASIS | Derived: 340 g / 10 g per cup (F08, F13) | 5Product 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. |
| 19 | F15 | Ingredients | Coffee | SPEC | Pack artwork | 0Product 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. |
| 20 | F16 | Certifications | None held | NO | Brand spec sheet. Do not claim organic, fair trade or kosher. | 0Product 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. |
| 21 | F17 | Caffeine | Not tested | NO | No lab data. Do not describe strength or caffeine level. | 0Product 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. |
| 22 | F18 | Freshness duration | Not tested | HOLD | 'Stays fresh longer' needs shelf-life data and legal sign-off. | 0Product 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. |
| 23 | F19 | Country-of-origin wording | Not approved | HOLD | 'Made in USA' is a regulated claim. Use 'roasted and packed in Grand Rapids, Michigan' only. | 0Product 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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 4 | ID | Question | Where the page answers it | Facts | Evidence type |
| 5 | Q1 | Is this ground or whole bean? | Title, image 3, attribute | F06 | Hypothesis |
| 6 | Q2 | How dark is it? Will it taste bitter? | Title, Item Highlights, image 2 | F03, F09 | Hypothesis |
| 7 | Q3 | Will it work in my coffee maker? | Item Highlights, bullet 2, image 3 | F06, F07 | Hypothesis |
| 8 | Q4 | How many cups will I get? | Bullet 4, image 4 | F08, F13, F14 | Hypothesis |
| 9 | Q5 | How fresh will it be when it arrives? | Item Highlights, bullet 3, image 5 | F11 | Hypothesis |
| 10 | Q6 | Where is the coffee from, and who roasts it? | Bullet 5, image 6 | F04, F05, F10 | Hypothesis |
| 11 | Q7 | Does the bag close again? | Bullet 5, image 5 | F12 | Hypothesis |
| 12 | Q8 | Is it organic or fair trade? | Answer truthfully in Q&A. No certification language anywhere. | F16 | Hypothesis |
| 13 | Q9 | Which Lakeshift roast is right for me? | Image 7, comparison module, variation selector | F03 | Hypothesis |
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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 4 | Order | Message | In shopper words | Proof (fact IDs) | Carried by |
| 5 | 1 | What it is | Day Shift medium roast ground coffee, 12 oz | F02, F03, F06, F08 | Title |
| 6 | 2 | What it tastes like | Balanced, with milk chocolate, toasted almond and orange zest | F09 | Item Highlights, image 2 |
| 7 | 3 | It fits how you brew | Ground for drip machines and pour-over | F06, F07 | Item Highlights, image 3 |
| 8 | 4 | You can see how fresh it is | Roast date stamped on every bag | F11 | Item Highlights, image 5 |
| 9 | 5 | What you get | About 34 cups, in a bag that zips shut | F12, F14 | Bullets, image 4 |
| 10 | 6 | Where it comes from | Colombia and Guatemala Arabica, roasted in Grand Rapids | F04, F05, F10 | Bullets, image 6 |
| 11 | 7 | Find your roast | Early Shift, Day Shift, Night Shift | F03 | Image 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.
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 | Retailer | Field | SKU | Version | Copy | Chars | Words | Rule type | Min | Max | Status | Headroom | Restricted characters | All caps? | Facts used |
| 5 | Amazon | Title | LS-DS-G12 | As 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! | 174Copy Matrix!F5=LEN(E5)Counts the characters in the copy, spaces included, the way the retailers count them. | 28Copy 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. | MAXCCopy 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. | emptyCopy 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. | 75Copy 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 99Copy 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. | -99Copy Matrix!L5=IF(OR(H5="MAXC",H5="RANGEC"),J5-F5,"")Room left: the limit minus the count. Negative means over. | CHECKCopy 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. | OKCopy 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 |
| 6 | Amazon | Title | LS-DS-G12 | Draft 1 | Lakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz Bag | 71Copy Matrix!F6=LEN(E6)Counts the characters in the copy, spaces included, the way the retailers count them. | 12Copy 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. | MAXCCopy 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. | emptyCopy 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. | 75Copy 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. | PASSCopy 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. | 4Copy Matrix!L6=IF(OR(H6="MAXC",H6="RANGEC"),J6-F6,"")Room left: the limit minus the count. Negative means over. | OKCopy 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. | OKCopy 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 |
| 7 | Amazon | Title | LS-DS-G12 | Final | Lakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz | 67Copy Matrix!F7=LEN(E7)Counts the characters in the copy, spaces included, the way the retailers count them. | 11Copy 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. | MAXCCopy 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. | emptyCopy 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. | 75Copy 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. | PASSCopy 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. | 8Copy Matrix!L7=IF(OR(H7="MAXC",H7="RANGEC"),J7-F7,"")Room left: the limit minus the count. Negative means over. | OKCopy 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. | OKCopy 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 |
| 8 | Amazon | Item Highlights | LS-DS-G12 | Final | Milk chocolate, toasted almond and orange zest notes. Ground for drip and pour-over. Roast date stamped on every bag. | 117Copy Matrix!F8=LEN(E8)Counts the characters in the copy, spaces included, the way the retailers count them. | 19Copy 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. | MAXCCopy 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. | emptyCopy 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. | 125Copy 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. | PASSCopy 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. | 8Copy Matrix!L8=IF(OR(H8="MAXC",H8="RANGEC"),J8-F8,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 9 | Amazon | Bullet | LS-DS-G12 | Final 1 | Balanced 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. | 139Copy Matrix!F9=LEN(E9)Counts the characters in the copy, spaces included, the way the retailers count them. | 26Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L9=IF(OR(H9="MAXC",H9="RANGEC"),J9-F9,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 10 | Amazon | Bullet | LS-DS-G12 | Final 2 | Ground 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. | 138Copy Matrix!F10=LEN(E10)Counts the characters in the copy, spaces included, the way the retailers count them. | 24Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L10=IF(OR(H10="MAXC",H10="RANGEC"),J10-F10,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 11 | Amazon | Bullet | LS-DS-G12 | Final 3 | Roast 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. | 126Copy Matrix!F11=LEN(E11)Counts the characters in the copy, spaces included, the way the retailers count them. | 27Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L11=IF(OR(H11="MAXC",H11="RANGEC"),J11-F11,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy Matrix!N11=IF(EXACT(E11,UPPER(E11)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages. | F11 |
| 12 | Amazon | Bullet | LS-DS-G12 | Final 4 | About 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. | 151Copy Matrix!F12=LEN(E12)Counts the characters in the copy, spaces included, the way the retailers count them. | 33Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L12=IF(OR(H12="MAXC",H12="RANGEC"),J12-F12,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 13 | Amazon | Bullet | LS-DS-G12 | Final 5 | Colombia and Guatemala, roasted in Michigan: 100% Arabica coffee, roasted and packed in Grand Rapids. The bag zips shut between brews. | 134Copy Matrix!F13=LEN(E13)Counts the characters in the copy, spaces included, the way the retailers count them. | 21Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L13=IF(OR(H13="MAXC",H13="RANGEC"),J13-F13,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 14 | Walmart | Title | LS-DS-G12 | Final | Lakeshift Day Shift Medium Roast Ground Coffee, Colombia and Guatemala Arabica, 12 oz Resealable Bag | 100Copy Matrix!F14=LEN(E14)Counts the characters in the copy, spaces included, the way the retailers count them. | 15Copy 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. | MAXCCopy 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. | emptyCopy 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. | 150Copy 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. | PASSCopy 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. | 50Copy Matrix!L14=IF(OR(H14="MAXC",H14="RANGEC"),J14-F14,"")Room left: the limit minus the count. Negative means over. | OKCopy 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. | OKCopy 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 |
| 15 | Walmart | Key feature | LS-DS-G12 | Final 1 | Medium roast, 3 on our 1 to 5 roast scale | 41Copy Matrix!F15=LEN(E15)Counts the characters in the copy, spaces included, the way the retailers count them. | 10Copy 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. | MAXCCopy 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. | emptyCopy 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. | 80Copy 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. | PASSCopy 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. | 39Copy Matrix!L15=IF(OR(H15="MAXC",H15="RANGEC"),J15-F15,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy Matrix!N15=IF(EXACT(E15,UPPER(E15)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages. | F03 |
| 16 | Walmart | Key feature | LS-DS-G12 | Final 2 | Tasting notes of milk chocolate, toasted almond and orange zest | 63Copy Matrix!F16=LEN(E16)Counts the characters in the copy, spaces included, the way the retailers count them. | 10Copy 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. | MAXCCopy 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. | emptyCopy 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. | 80Copy 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. | PASSCopy 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. | 17Copy Matrix!L16=IF(OR(H16="MAXC",H16="RANGEC"),J16-F16,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy Matrix!N16=IF(EXACT(E16,UPPER(E16)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages. | F09 |
| 17 | Walmart | Key feature | LS-DS-G12 | Final 3 | Ground for automatic drip machines and pour-over brewers | 56Copy Matrix!F17=LEN(E17)Counts the characters in the copy, spaces included, the way the retailers count them. | 8Copy 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. | MAXCCopy 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. | emptyCopy 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. | 80Copy 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. | PASSCopy 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. | 24Copy Matrix!L17=IF(OR(H17="MAXC",H17="RANGEC"),J17-F17,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 18 | Walmart | Key feature | LS-DS-G12 | Final 4 | Roast date stamped on every bag | 31Copy Matrix!F18=LEN(E18)Counts the characters in the copy, spaces included, the way the retailers count them. | 6Copy 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. | MAXCCopy 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. | emptyCopy 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. | 80Copy 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. | PASSCopy 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. | 49Copy Matrix!L18=IF(OR(H18="MAXC",H18="RANGEC"),J18-F18,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy Matrix!N18=IF(EXACT(E18,UPPER(E18)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages. | F11 |
| 19 | Walmart | Key feature | LS-DS-G12 | Final 5 | About 34 six-ounce cups per bag at the brew guide on the pack | 61Copy Matrix!F19=LEN(E19)Counts the characters in the copy, spaces included, the way the retailers count them. | 13Copy 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. | MAXCCopy 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. | emptyCopy 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. | 80Copy 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. | PASSCopy 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. | 19Copy Matrix!L19=IF(OR(H19="MAXC",H19="RANGEC"),J19-F19,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 20 | Walmart | Key feature | LS-DS-G12 | Final 6 | Arabica coffee from Colombia and Guatemala, roasted in Grand Rapids, Michigan | 77Copy Matrix!F20=LEN(E20)Counts the characters in the copy, spaces included, the way the retailers count them. | 11Copy 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. | MAXCCopy 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. | emptyCopy 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. | 80Copy 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. | PASSCopy 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. | 3Copy Matrix!L20=IF(OR(H20="MAXC",H20="RANGEC"),J20-F20,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 21 | Walmart | Key feature | LS-DS-G12 | Final 7 | Resealable zipper bag with a one-way valve | 42Copy Matrix!F21=LEN(E21)Counts the characters in the copy, spaces included, the way the retailers count them. | 7Copy 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. | MAXCCopy 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. | emptyCopy 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. | 80Copy 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. | PASSCopy 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. | 38Copy Matrix!L21=IF(OR(H21="MAXC",H21="RANGEC"),J21-F21,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy Matrix!N21=IF(EXACT(E21,UPPER(E21)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages. | F12 |
| 22 | Walmart | Description | LS-DS-G12 | Final | Day 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. | 884Copy Matrix!F22=LEN(E22)Counts the characters in the copy, spaces included, the way the retailers count them. | 171Copy 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. | MINWCopy 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. | 150Copy 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. | emptyCopy 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. | PASSCopy 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. | emptyCopy Matrix!L22=IF(OR(H22="MAXC",H22="RANGEC"),J22-F22,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 23 | Kroger | Title | LS-DS-G12 | Final | Lakeshift Day Shift Medium Roast Ground Coffee | 46Copy Matrix!F23=LEN(E23)Counts the characters in the copy, spaces included, the way the retailers count them. | 7Copy 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. | MAXCCopy 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. | emptyCopy 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. | 100Copy 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. | PASSCopy 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. | 54Copy Matrix!L23=IF(OR(H23="MAXC",H23="RANGEC"),J23-F23,"")Room left: the limit minus the count. Negative means over. | OKCopy 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. | OKCopy 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 |
| 24 | Kroger | Marketing message | LS-DS-G12 | Final | Day 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. | 304Copy Matrix!F24=LEN(E24)Counts the characters in the copy, spaces included, the way the retailers count them. | 59Copy 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. | RANGECCopy 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. | 300Copy 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. | 400Copy 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. | PASSCopy 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. | 96Copy Matrix!L24=IF(OR(H24="MAXC",H24="RANGEC"),J24-F24,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 25 | Kroger | Bullet | LS-DS-G12 | Final 1 | Medium roast, 3 on our 1 to 5 roast scale | 41Copy Matrix!F25=LEN(E25)Counts the characters in the copy, spaces included, the way the retailers count them. | 10Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L25=IF(OR(H25="MAXC",H25="RANGEC"),J25-F25,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy Matrix!N25=IF(EXACT(E25,UPPER(E25)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages. | F03 |
| 26 | Kroger | Bullet | LS-DS-G12 | Final 2 | Notes of milk chocolate, toasted almond and orange zest | 55Copy Matrix!F26=LEN(E26)Counts the characters in the copy, spaces included, the way the retailers count them. | 9Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L26=IF(OR(H26="MAXC",H26="RANGEC"),J26-F26,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy Matrix!N26=IF(EXACT(E26,UPPER(E26)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages. | F09 |
| 27 | Kroger | Bullet | LS-DS-G12 | Final 3 | Ground for drip machines and pour-over brewers | 46Copy Matrix!F27=LEN(E27)Counts the characters in the copy, spaces included, the way the retailers count them. | 7Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L27=IF(OR(H27="MAXC",H27="RANGEC"),J27-F27,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 28 | Kroger | Bullet | LS-DS-G12 | Final 4 | Roast date stamped on every bag | 31Copy Matrix!F28=LEN(E28)Counts the characters in the copy, spaces included, the way the retailers count them. | 6Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L28=IF(OR(H28="MAXC",H28="RANGEC"),J28-F28,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy Matrix!N28=IF(EXACT(E28,UPPER(E28)),"CHECK","OK")Says CHECK if the whole field is in capitals, which every retailer here discourages. | F11 |
| 29 | Kroger | Bullet | LS-DS-G12 | Final 5 | About 34 six-ounce cups per 12 oz bag at the brew guide on the pack | 67Copy Matrix!F29=LEN(E29)Counts the characters in the copy, spaces included, the way the retailers count them. | 15Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L29=IF(OR(H29="MAXC",H29="RANGEC"),J29-F29,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 30 | Kroger | Bullet | LS-DS-G12 | Final 6 | Arabica coffee from Colombia and Guatemala, roasted in Grand Rapids, Michigan | 77Copy Matrix!F30=LEN(E30)Counts the characters in the copy, spaces included, the way the retailers count them. | 11Copy 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. | NONECopy 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. | emptyCopy 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. | emptyCopy 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 limitCopy 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. | emptyCopy Matrix!L30=IF(OR(H30="MAXC",H30="RANGEC"),J30-F30,"")Room left: the limit minus the count. Negative means over. | emptyCopy 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. | OKCopy 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 |
| 31 | Target | Title | LS-DS-G12 | Draft, held | Lakeshift Day Shift Medium Roast Ground Coffee - 12oz | 53Copy Matrix!F31=LEN(E31)Counts the characters in the copy, spaces included, the way the retailers count them. | 9Copy 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. | HOLDCopy 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. | emptyCopy 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. | emptyCopy 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 portalCopy 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. | emptyCopy Matrix!L31=IF(OR(H31="MAXC",H31="RANGEC"),J31-F31,"")Room left: the limit minus the count. Negative means over. | OKCopy 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. | OKCopy 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 |
| 33 | Rows passing a verified limit | 14Copy Matrix!F33=COUNTIF(K5:K31,"PASS")Counts the rows that pass a verified limit. | |||||||||||||
| 34 | Rows failing a verified limit | 1Copy Matrix!F34=COUNTIF(K5:K31,"OVER*")+COUNTIF(K5:K31,"UNDER*")Counts the rows that are over or under a verified limit. | |||||||||||||
| 35 | Rows with no verified limit or held | 12Copy Matrix!F35=COUNTIF(K5:K31,"No*")+COUNTIF(K5:K31,"HOLD*")Counts the rows with no verified limit, or held. | |||||||||||||
| 36 | Kroger bullets + marketing message, characters (allowance 2,000) | 621Copy 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. | |||||||||||||
| 37 | Walmart key features, count (rule: 3 to 10) | 7Copy Matrix!F37=COUNTIFS(A5:A31,"Walmart",B5:B31,"Key feature")Counts Walmart key features, to compare with the rule of three to ten. | |||||||||||||
| 38 | Kroger bullets, count (guide: 5 to 7) | 6Copy Matrix!F38=COUNTIFS(A5:A31,"Kroger",B5:B31,"Bullet")Counts Kroger bullets, to compare with the guide of five to seven. | |||||||||||||
| 40 | Note: 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.
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 | Brand | Lakeshift | ||||||||||||||
| 5 | Amazon suffix, draft 1 | , 100% Arabica, 12 oz Bag | ||||||||||||||
| 6 | Amazon suffix, draft 2 | , 100% Arabica, 12 oz | ||||||||||||||
| 7 | Walmart suffix | , Colombia and Guatemala Arabica, 12 oz Resealable Bag | ||||||||||||||
| 8 | Amazon title limit | 75Variations!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. | ||||||||||||||
| 9 | Walmart title limit | 150Variations!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. | ||||||||||||||
| 10 | Kroger title limit | 100Variations!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. | ||||||||||||||
| 12 | SKU | Line | Roast | Form | Amazon title, draft 1 | Chars | Status | Amazon title, draft 2 | Chars | Status | Kroger title | Chars | Status | Walmart title | Chars | Status |
| 13 | LS-ES-G12 | Early Shift | Light | Ground | Lakeshift Early Shift Light Roast Ground Coffee, 100% Arabica, 12 oz BagVariations!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. | 72Variations!F13=LEN(E13)Counts the characters in the title built on this row. | PASSVariations!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 ozVariations!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. | 68Variations!I13=LEN(H13)Counts the characters in the title built on this row. | PASSVariations!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 CoffeeVariations!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. | 47Variations!L13=LEN(K13)Counts the characters in the title built on this row. | PASSVariations!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 BagVariations!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. | 101Variations!O13=LEN(N13)Counts the characters in the title built on this row. | PASSVariations!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. |
| 14 | LS-ES-W12 | Early Shift | Light | Whole Bean | Lakeshift Early Shift Light Roast Whole Bean Coffee, 100% Arabica, 12 oz BagVariations!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. | 76Variations!F14=LEN(E14)Counts the characters in the title built on this row. | OVER by 1Variations!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 ozVariations!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. | 72Variations!I14=LEN(H14)Counts the characters in the title built on this row. | PASSVariations!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 CoffeeVariations!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. | 51Variations!L14=LEN(K14)Counts the characters in the title built on this row. | PASSVariations!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 BagVariations!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. | 105Variations!O14=LEN(N14)Counts the characters in the title built on this row. | PASSVariations!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. |
| 15 | LS-DS-G12 | Day Shift | Medium | Ground | Lakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz BagVariations!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. | 71Variations!F15=LEN(E15)Counts the characters in the title built on this row. | PASSVariations!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 ozVariations!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. | 67Variations!I15=LEN(H15)Counts the characters in the title built on this row. | PASSVariations!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 CoffeeVariations!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. | 46Variations!L15=LEN(K15)Counts the characters in the title built on this row. | PASSVariations!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 BagVariations!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. | 100Variations!O15=LEN(N15)Counts the characters in the title built on this row. | PASSVariations!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. |
| 16 | LS-DS-W12 | Day Shift | Medium | Whole Bean | Lakeshift Day Shift Medium Roast Whole Bean Coffee, 100% Arabica, 12 oz BagVariations!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. | 75Variations!F16=LEN(E16)Counts the characters in the title built on this row. | PASSVariations!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 ozVariations!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. | 71Variations!I16=LEN(H16)Counts the characters in the title built on this row. | PASSVariations!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 CoffeeVariations!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. | 50Variations!L16=LEN(K16)Counts the characters in the title built on this row. | PASSVariations!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 BagVariations!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. | 104Variations!O16=LEN(N16)Counts the characters in the title built on this row. | PASSVariations!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. |
| 17 | LS-NS-G12 | Night Shift | Dark | Ground | Lakeshift Night Shift Dark Roast Ground Coffee, 100% Arabica, 12 oz BagVariations!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. | 71Variations!F17=LEN(E17)Counts the characters in the title built on this row. | PASSVariations!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 ozVariations!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. | 67Variations!I17=LEN(H17)Counts the characters in the title built on this row. | PASSVariations!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 CoffeeVariations!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. | 46Variations!L17=LEN(K17)Counts the characters in the title built on this row. | PASSVariations!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 BagVariations!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. | 100Variations!O17=LEN(N17)Counts the characters in the title built on this row. | PASSVariations!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. |
| 18 | LS-NS-W12 | Night Shift | Dark | Whole Bean | Lakeshift Night Shift Dark Roast Whole Bean Coffee, 100% Arabica, 12 oz BagVariations!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. | 75Variations!F18=LEN(E18)Counts the characters in the title built on this row. | PASSVariations!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 ozVariations!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. | 71Variations!I18=LEN(H18)Counts the characters in the title built on this row. | PASSVariations!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 CoffeeVariations!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. | 50Variations!L18=LEN(K18)Counts the characters in the title built on this row. | PASSVariations!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 BagVariations!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. | 104Variations!O18=LEN(N18)Counts the characters in the title built on this row. | PASSVariations!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. |
| 20 | Longest Amazon title, draft 1 | 76Variations!B20=MAX(F13:F18)The longest title in the family. If the longest fits, every title fits. | Pattern fits all SKUs? | NOVariations!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. | ||||||||||||
| 21 | Longest Amazon title, draft 2 | 72Variations!B21=MAX(I13:I18)The longest title in the family. If the longest fits, every title fits. | Pattern fits all SKUs? | YESVariations!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. | ||||||||||||
| 22 | Longest Kroger title | 51Variations!B22=MAX(L13:L18)The longest title in the family. If the longest fits, every title fits. | Pattern fits all SKUs? | YESVariations!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. | ||||||||||||
| 23 | Longest Walmart title | 105Variations!B23=MAX(O13:O18)The longest title in the family. If the longest fits, every title fits. | Pattern fits all SKUs? | YESVariations!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. | ||||||||||||
| 25 | Attribute 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). | |||||||||||||||
Carousel Brief
Seven images, one job each, in message order. Headline and support copy are final wording for the designer. Shot notes say what must be in frame. Kroger offers six image slots, so image 6 folds into image 5 there and the lineup image keeps its place.
| A | B | C | D | E | F | G | H | I | J | K | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 | Slot | Job | Headline on image | Chars | Support line | Shot and layout notes | Facts | Claims flag | Alt text | Amazon / Walmart | Kroger (6 slots) |
| 5 | 1 | Main image | 0Carousel Brief!D5=LEN(C5)Counts the characters in the image headline. My working rule is 50 or fewer, so it reads on a phone. | Front of the Day Shift ground bag, straight on, pure white background, pack fills most of the frame. No text, badges or props. | F02, F06, F08 | None. Retailer main-image rules apply. | Lakeshift Day Shift medium roast ground coffee, 12 oz bag, front of pack. | Slot 1 | Slot 1 | ||
| 6 | 2 | Roast and taste | Medium roast. Chocolate, almond, a little orange. | 49Carousel Brief!D6=LEN(C6)Counts the characters in the image headline. My working rule is 50 or fewer, so it reads on a phone. | 3 on our 1 to 5 roast scale. | Roast scale as five dots with the third filled. Three small ingredient cues for the tasting notes. Cup beside the pack. | F03, F09 | Tasting notes are the roaster's descriptors. Brand sign-off. | Roast scale showing Day Shift at 3 of 5, with tasting notes of milk chocolate, toasted almond and orange zest. | Slot 2 | Slot 2 |
| 7 | 3 | Form and brewer fit | Ground for drip and pour-over. | 30Carousel Brief!D7=LEN(C7)Counts the characters in the image headline. My working rule is 50 or fewer, so it reads on a phone. | Medium grind. Brew it straight from the bag. | Macro of the grind next to a drip basket and a pour-over cone. The word GROUND large enough to read on a phone. | F06, F07 | None. | Medium-ground coffee beside a drip machine basket and a pour-over cone. | Slot 3 | Slot 3 |
| 8 | 4 | How much it makes | About 34 cups a bag. | 20Carousel Brief!D8=LEN(C8)Counts the characters in the image headline. My working rule is 50 or fewer, so it reads on a phone. | At 2 level tablespoons per 6 fl oz of water, the guide on the pack. | The bag with a row of cups counting up. The basis line stays in the image, in type no smaller than the support line. | F08, F13, F14 | Calculated claim. The basis must appear wherever the number does. | A 12 oz bag makes about 34 six-ounce cups at 2 tablespoons per 6 fluid ounces of water. | Slot 4 | Slot 4 |
| 9 | 5 | Freshness you can check | Roast date on every bag. | 24Carousel Brief!D9=LEN(C9)Counts the characters in the image headline. My working rule is 50 or fewer, so it reads on a phone. | Stamped on the back. The zipper closes it between brews. | Back of pack, close on the roast-date stamp, zipper visible. Use a real stamp from a production bag. | F11, F12 | Do not add 'stays fresh longer'. Held for shelf-life data. | Back of the bag showing the roasted-on date stamp and the resealable zipper. | Slot 5 | Slot 5 |
| 10 | 6 | Where it comes from | Colombia and Guatemala. Roasted in Grand Rapids. | 48Carousel Brief!D10=LEN(C10)Counts the characters in the image headline. My working rule is 50 or fewer, so it reads on a phone. | 100% Arabica coffee. | Simple two-origin map leading to a roaster photo. Real roastery photography only. | F04, F05, F10 | Use 'roasted and packed in Grand Rapids, Michigan'. No 'Made in USA'. | Map showing coffee origins in Colombia and Guatemala and the roastery in Grand Rapids, Michigan. | Slot 6 | Fold into slot 5 |
| 11 | 7 | Find your roast | Three shifts. Pick yours. | 25Carousel Brief!D11=LEN(C11)Counts the characters in the image headline. My working rule is 50 or fewer, so it reads on a phone. | Early Shift light. Day Shift medium. Night Shift dark. | The three bags in a row on one shelf line, light to dark, current product marked. | F03 | None. Names and roast levels must match the variation attributes exactly. | Early Shift light roast, Day Shift medium roast and Night Shift dark roast bags side by side. | Slot 7 | Slot 6 |
| 13 | Working guide: keep on-image headlines short enough to read on a phone. I aim for 50 characters or fewer. That is my working rule, not a retailer requirement. |
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.
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 4 | Area | Area weight | ID | Check | As found (0-2) | Draft rewrite (0-2) | Max | Observation, as found | Note on the draft |
| 5 | Rule compliance | 25 | A1 | Title is inside the retailer's limit and character rules | 0 | 2 | 2 | Title is more than twice the 75-character limit, ends in '!', and repeats one word five times. | Met in the draft copy and brief. |
| 6 | Rule compliance | 25 | A2 | Bullets are free of restricted content | 0 | 2 | 2 | One emoji, one money-back guarantee. | Met in the draft copy and brief. |
| 7 | Rule compliance | 25 | A3 | Main image meets the main-image rule | 2 | 2 | 2 | Pack on white, no text. | Met in the draft copy and brief. |
| 8 | Accuracy and claims | 20 | B1 | Every claim traces to a product fact | 0 | 2 | 2 | 'Premium', 'gourmet' and 'best beans' have no fact behind them. | Met in the draft copy and brief. |
| 9 | Accuracy and claims | 20 | B2 | No superlatives, guarantees or implied certifications | 0 | 2 | 2 | 'Best Coffee', 'best taste', 'satisfaction guaranteed'. | Met in the draft copy and brief. |
| 10 | Shopper questions | 25 | C1 | Form (ground or whole bean) is unmistakable above the fold | 1 | 2 | 2 | 'Ground Coffee' sits mid-title in a 174-character string, and the first bullet talks about beans. | Met in the draft copy and brief. |
| 11 | Shopper questions | 25 | C2 | Roast and taste are described in concrete terms | 0 | 2 | 2 | 'Smooth & Bold' says two opposite things and names no flavor. | Met in the draft copy and brief. |
| 12 | Shopper questions | 25 | C3 | Brewer fit is stated | 1 | 2 | 2 | 'Drip Coffee Makers' is in the title only. | Met in the draft copy and brief. |
| 13 | Shopper questions | 25 | C4 | Quantity and yield are stated | 1 | 2 | 2 | Net weight only. | Met in the draft copy and brief. |
| 14 | Shopper questions | 25 | C5 | Freshness is addressed with a fact | 0 | 2 | 2 | 'Fresh Roasted!' with nothing to check it against. | Met in the draft copy and brief. |
| 15 | Story consistency | 15 | D1 | Title, bullets and images follow one message order | 0 | 2 | 2 | Bullets repeat quality claims. Nothing follows from the title. | Met in the draft copy and brief. |
| 16 | Story consistency | 15 | D2 | Variation titles follow one pattern | 0 | 2 | 2 | Six separate listings, each titled differently. | Met in the draft copy and brief. |
| 17 | Depth | 15 | E1 | Image set covers the main shopper questions | 0 | 1 | 2 | Two images. Neither shows the grind, the yield or the roast date. | Brief written. Images not yet produced. |
| 18 | Depth | 15 | E2 | Enhanced content is present where the brand is eligible | 0 | 0 | 2 | None. | Layout outlined only. Needs Brand Registry and assets. |
| 20 | Area | Weight | As found | Draft rewrite | |||||
| 21 | Rule compliance | 25 | 8Audit 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. | 25Audit 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. | |||||
| 22 | Accuracy and claims | 20 | 0Audit 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. | 20Audit 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. | |||||
| 23 | Shopper questions | 25 | 8Audit 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. | 25Audit 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. | |||||
| 24 | Story consistency | 15 | 0Audit 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. | 15Audit 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. | |||||
| 25 | Depth | 15 | 0Audit 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. | 4Audit 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. | |||||
| 26 | Total (out of 100) | 100Audit Scorecard!B26=SUM(B21:B25)Adds the five weighted areas into a score out of 100. | 16Audit Scorecard!E26=SUM(E21:E25)Adds the five weighted areas into a score out of 100. | 89Audit Scorecard!F26=SUM(F21:F25)Adds the five weighted areas into a score out of 100. | |||||
| 27 | Band | Needs workAudit 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. | StrongAudit 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. | ||||||
| 29 | Read 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.
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 4 | ID | Recommendation | Shopper impact (1-3) | Evidence (1-3) | Effort (1-3) | Priority | Rank | Depends on | Why |
| 5 | R1 | Rewrite all six titles to one 75-character pattern | 3 | 3 | 1 | 9.0Priorities!F5=C5*D5/E5Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first. | 1Priorities!G5=RANK(F5,$F$5:$F$11)Ranks the recommendation by its priority score, highest first. | None | A published rule. Amazon rewrites titles that are over the limit. |
| 6 | R2 | Replace the three bullets with five written from product facts | 3 | 3 | 1 | 9.0Priorities!F6=C6*D6/E6Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first. | 1Priorities!G6=RANK(F6,$F$5:$F$11)Ranks the recommendation by its priority score, highest first. | Claims sign-off | Removes an emoji and a guarantee that Amazon restricts. |
| 7 | R3 | Fill the new Item Highlights field | 2 | 3 | 1 | 6.0Priorities!F7=C7*D7/E7Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first. | 3Priorities!G7=RANK(F7,$F$5:$F$11)Ranks the recommendation by its priority score, highest first. | None | A published field with 125 searchable characters that the listing leaves empty. |
| 8 | R4 | Build the seven-image carousel | 3 | 2 | 3 | 2.0Priorities!F8=C8*D8/E8Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first. | 4Priorities!G8=RANK(F8,$F$5:$F$11)Ranks the recommendation by its priority score, highest first. | Photography, brand sign-off | Eight of the nine shopper questions name an image as one of the places they get answered. |
| 9 | R5 | Group the six listings into one variation family | 2 | 2 | 2 | 2.0Priorities!F9=C9*D9/E9Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first. | 4Priorities!G9=RANK(F9,$F$5:$F$11)Ranks the recommendation by its priority score, highest first. | Confirm the variation theme in the category template | Lets a shopper switch roast and form on one page. |
| 10 | R6 | Add a five-module A+ layout | 2 | 1 | 3 | 0.7Priorities!F10=C10*D10/E10Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first. | 6Priorities!G10=RANK(F10,$F$5:$F$11)Ranks the recommendation by its priority score, highest first. | Brand Registry, carousel assets | No measured data for this brand yet, so this is a hypothesis. |
| 11 | R7 | Open a Brand Store | 1 | 1 | 3 | 0.3Priorities!F11=C11*D11/E11Priority is shopper impact times evidence, divided by effort. High impact, strong evidence and low effort go first. | 7Priorities!G11=RANK(F11,$F$5:$F$11)Ranks the recommendation by its priority score, highest first. | Brand Registry, A+ assets | Useful 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.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 4 | ID | Check | Type | Amazon | Walmart | Kroger | Target | Note |
| 5 | Q01 | Every sentence traces to a fact ID on the Product Truth sheet | Accuracy | Pass | Pass | Pass | Pass | |
| 6 | Q02 | No claim marked HOLD or NO appears anywhere, including image text | Accuracy | Pass | Pass | Pass | Pass | |
| 7 | Q03 | Calculated claims carry their basis in the same field or image | Accuracy | Pass | Pass | Pass | Pass | |
| 8 | Q04 | Each field is inside the retailer limit on the Copy Matrix | Compliance | Pass | Pass | Pass | N/A | Target has no verified limit to check against. |
| 9 | Q05 | No restricted characters, emojis, all-caps words or guarantee language | Compliance | Pass | Pass | Pass | Pass | |
| 10 | Q06 | No word appears more than twice in a title | Compliance | Pass | Pass | Pass | Pass | |
| 11 | Q07 | Line name, roast and form are spelled identically in every field and retailer | Consistency | Pass | Pass | Pass | Pass | |
| 12 | Q08 | All six variation titles follow the same pattern and all pass the limit | Consistency | Pass | Pass | Pass | Pass | |
| 13 | Q09 | Image headline text matches the approved carousel brief word for word | Consistency | N/A | N/A | N/A | N/A | Images not produced yet. |
| 14 | Q10 | Spelling, grammar and units checked by a second reader | Proofing | Pass | Pass | Pass | Pass | |
| 15 | Q11 | Alt text written for every image | Proofing | Pass | Pass | Pass | Pass | Alt text is written in the Carousel Brief. |
| 16 | Q12 | Rule Register dates are inside 90 days, or the rule has been re-checked | Currency | Pass | Pass | Pass | Pass | |
| 18 | Checks passed | 11QA Checklist!D18=COUNTIF(D5:D16,"Pass")Counts the checks this retailer's copy passed. | 11QA Checklist!E18=COUNTIF(E5:E16,"Pass")Counts the checks this retailer's copy passed. | 11QA Checklist!F18=COUNTIF(F5:F16,"Pass")Counts the checks this retailer's copy passed. | 10QA Checklist!G18=COUNTIF(G5:G16,"Pass")Counts the checks this retailer's copy passed. | |||
| 19 | Checks failed | 0QA Checklist!D19=COUNTIF(D5:D16,"Fail")Counts the checks this retailer's copy failed. | 0QA Checklist!E19=COUNTIF(E5:E16,"Fail")Counts the checks this retailer's copy failed. | 0QA Checklist!F19=COUNTIF(F5:F16,"Fail")Counts the checks this retailer's copy failed. | 0QA Checklist!G19=COUNTIF(G5:G16,"Fail")Counts the checks this retailer's copy failed. | |||
| 20 | Ready to mark Approved? | YESQA 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. | YESQA 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. | YESQA 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. | YESQA 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.
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 4 | SKU | Retailer | Asset | State | Entered state | Days in state | Owner | Next action | Live matches submitted? |
| 5 | LS-ES-G12 | Amazon | Core copy | Verified live | 2026-10-08 | 3Launch Tracker!F5=TODAY()-E5Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Re-check on day 7 and day 30. | Yes |
| 6 | LS-ES-W12 | Amazon | Core copy | Published | 2026-10-09 | 2Launch Tracker!F6=TODAY()-E6Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Compare the live title and highlights to the submitted copy. | Not checked |
| 7 | LS-DS-G12 | Amazon | Core copy | Published | 2026-10-09 | 2Launch Tracker!F7=TODAY()-E7Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Compare the live title and highlights to the submitted copy. | Not checked |
| 8 | LS-DS-W12 | Amazon | Core copy | Accepted | 2026-10-07 | 4Launch Tracker!F8=TODAY()-E8Days this SKU has been in its current state: today's date minus the date it entered the state. | Retailer | Wait for publication. Check again tomorrow. | Not checked |
| 9 | LS-NS-G12 | Amazon | Core copy | Submitted | 2026-10-06 | 5Launch Tracker!F9=TODAY()-E9Days this SKU has been in its current state: today's date minus the date it entered the state. | Retailer | Awaiting acceptance. | Not checked |
| 10 | LS-NS-W12 | Amazon | Core copy | Submitted | 2026-10-06 | 5Launch Tracker!F10=TODAY()-E10Days this SKU has been in its current state: today's date minus the date it entered the state. | Retailer | Awaiting acceptance. | Not checked |
| 11 | LS-ES-G12 | Walmart | Core copy | Submitted | 2026-10-07 | 4Launch Tracker!F11=TODAY()-E11Days this SKU has been in its current state: today's date minus the date it entered the state. | Retailer | Awaiting content review. | Not checked |
| 12 | LS-ES-W12 | Walmart | Core copy | Submitted | 2026-10-07 | 4Launch Tracker!F12=TODAY()-E12Days this SKU has been in its current state: today's date minus the date it entered the state. | Retailer | Awaiting content review. | Not checked |
| 13 | LS-DS-G12 | Walmart | Core copy | Approved | 2026-10-05 | 6Launch Tracker!F13=TODAY()-E13Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the client's content provider. | Not checked |
| 14 | LS-DS-W12 | Walmart | Core copy | Approved | 2026-10-05 | 6Launch Tracker!F14=TODAY()-E14Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the client's content provider. | Not checked |
| 15 | LS-NS-G12 | Walmart | Core copy | Approved | 2026-10-05 | 6Launch Tracker!F15=TODAY()-E15Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the client's content provider. | Not checked |
| 16 | LS-NS-W12 | Walmart | Core copy | Approved | 2026-10-05 | 6Launch Tracker!F16=TODAY()-E16Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the client's content provider. | Not checked |
| 17 | LS-ES-G12 | Kroger | Core copy | Approved | 2026-10-08 | 3Launch Tracker!F17=TODAY()-E17Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the Item API provider. Content goes live without pre-review, so QA is final here. | Not checked |
| 18 | LS-ES-W12 | Kroger | Core copy | Approved | 2026-10-08 | 3Launch Tracker!F18=TODAY()-E18Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the Item API provider. Content goes live without pre-review, so QA is final here. | Not checked |
| 19 | LS-DS-G12 | Kroger | Core copy | Approved | 2026-10-08 | 3Launch Tracker!F19=TODAY()-E19Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the Item API provider. Content goes live without pre-review, so QA is final here. | Not checked |
| 20 | LS-DS-W12 | Kroger | Core copy | Approved | 2026-10-08 | 3Launch Tracker!F20=TODAY()-E20Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the Item API provider. Content goes live without pre-review, so QA is final here. | Not checked |
| 21 | LS-NS-G12 | Kroger | Core copy | Approved | 2026-10-08 | 3Launch Tracker!F21=TODAY()-E21Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the Item API provider. Content goes live without pre-review, so QA is final here. | Not checked |
| 22 | LS-NS-W12 | Kroger | Core copy | Approved | 2026-10-08 | 3Launch Tracker!F22=TODAY()-E22Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Submit through the Item API provider. Content goes live without pre-review, so QA is final here. | Not checked |
| 23 | LS-ES-G12 | Target | Core copy | Drafted | 2026-10-04 | 7Launch Tracker!F23=TODAY()-E23Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Verify current title and bullet rules in the portal before finalizing. | Not checked |
| 24 | LS-ES-W12 | Target | Core copy | Drafted | 2026-10-04 | 7Launch Tracker!F24=TODAY()-E24Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Verify current title and bullet rules in the portal before finalizing. | Not checked |
| 25 | LS-DS-G12 | Target | Core copy | Drafted | 2026-10-04 | 7Launch Tracker!F25=TODAY()-E25Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Verify current title and bullet rules in the portal before finalizing. | Not checked |
| 26 | LS-DS-W12 | Target | Core copy | Drafted | 2026-10-04 | 7Launch Tracker!F26=TODAY()-E26Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Verify current title and bullet rules in the portal before finalizing. | Not checked |
| 27 | LS-NS-G12 | Target | Core copy | Drafted | 2026-10-04 | 7Launch Tracker!F27=TODAY()-E27Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Verify current title and bullet rules in the portal before finalizing. | Not checked |
| 28 | LS-NS-W12 | Target | Core copy | Drafted | 2026-10-04 | 7Launch Tracker!F28=TODAY()-E28Days this SKU has been in its current state: today's date minus the date it entered the state. | Specialist | Verify current title and bullet rules in the portal before finalizing. | Not checked |
| 30 | State | Rows | |||||||
| 31 | Drafted | 6Launch Tracker!B31=COUNTIF($D$5:$D$28,A31)Counts how many SKU and retailer rows are in this state. | |||||||
| 32 | Approved | 10Launch Tracker!B32=COUNTIF($D$5:$D$28,A32)Counts how many SKU and retailer rows are in this state. | |||||||
| 33 | Submitted | 4Launch Tracker!B33=COUNTIF($D$5:$D$28,A33)Counts how many SKU and retailer rows are in this state. | |||||||
| 34 | Accepted | 1Launch Tracker!B34=COUNTIF($D$5:$D$28,A34)Counts how many SKU and retailer rows are in this state. | |||||||
| 35 | Published | 2Launch Tracker!B35=COUNTIF($D$5:$D$28,A35)Counts how many SKU and retailer rows are in this state. | |||||||
| 36 | Verified live | 1Launch Tracker!B36=COUNTIF($D$5:$D$28,A36)Counts how many SKU and retailer rows are in this state. | |||||||
| 37 | Total rows | 24Launch Tracker!B37=COUNTA($A$5:$A$28)Counts the rows on the tracker: six SKUs times four retailers. | |||||||
| 38 | Share verified live | 4%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. | |||||||
| 39 | Longest wait (days) | 7Launch 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.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 4 | Date checked | Retailer | SKU | Field | Submitted | Live on page | Result | Action |
| 5 | 2026-10-08 | Amazon | LS-DS-G12 | Title | Lakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz | Lakeshift Day Shift Medium Roast Ground Coffee, 100% Arabica, 12 oz | MATCHMonitoring 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. |
| 6 | 2026-10-08 | Amazon | LS-DS-G12 | Item Highlights | Milk 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. | MATCHMonitoring 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. |
| 7 | 2026-10-09 | Amazon | LS-ES-W12 | Title | Lakeshift Early Shift Light Roast Whole Bean Coffee, 100% Arabica, 12 oz | Lakeshift Early Shift Light Roast Whole Bean Coffee 12 oz | DRIFTMonitoring 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. |
| 9 | Schedule 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.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 4 | Question ID | Question asked | Correct answer from Product Truth | Fact IDs | Before: answered correctly? (of 3 runs) | After: answered correctly? (of 3 runs) | Change | Notes |
| 5 | Q1 | Is this ground or whole bean? | Ground, medium grind. | F06 | emptyAssistant Question Test!G5=IF(OR(E5="",F5=""),"",F5-E5)The change between the before and after runs, once both have been run. | |||
| 6 | Q2 | How 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, F09 | emptyAssistant Question Test!G6=IF(OR(E6="",F6=""),"",F6-E6)The change between the before and after runs, once both have been run. | |||
| 7 | Q3 | Will it work in my coffee maker? | Yes for automatic drip machines and pour-over brewers. | F06, F07 | emptyAssistant Question Test!G7=IF(OR(E7="",F7=""),"",F7-E7)The change between the before and after runs, once both have been run. | |||
| 8 | Q4 | How many cups will I get? | About 34 six-ounce cups at 2 tablespoons per 6 fl oz. | F08, F13, F14 | emptyAssistant Question Test!G8=IF(OR(E8="",F8=""),"",F8-E8)The change between the before and after runs, once both have been run. | |||
| 9 | Q5 | How fresh will it be when it arrives? | The roast date is stamped on every bag. | F11 | emptyAssistant Question Test!G9=IF(OR(E9="",F9=""),"",F9-E9)The change between the before and after runs, once both have been run. | |||
| 10 | Q6 | Where is the coffee from, and who roasts it? | Arabica coffee from Colombia and Guatemala, roasted in Grand Rapids, Michigan. | F04, F05, F10 | emptyAssistant Question Test!G10=IF(OR(E10="",F10=""),"",F10-E10)The change between the before and after runs, once both have been run. | |||
| 11 | Q7 | Does the bag close again? | Yes. The bag has a zipper. | F12 | emptyAssistant Question Test!G11=IF(OR(E11="",F11=""),"",F11-E11)The change between the before and after runs, once both have been run. | |||
| 12 | Q8 | Is it organic or fair trade? | No certifications are held. The correct answer is that it is not certified. | F16 | emptyAssistant Question Test!G12=IF(OR(E12="",F12=""),"",F12-E12)The change between the before and after runs, once both have been run. | |||
| 13 | Q9 | Which Lakeshift roast is right for me? | Early Shift is light, Day Shift is medium, Night Shift is dark. | F03 | emptyAssistant Question Test!G13=IF(OR(E13="",F13=""),"",F13-E13)The change between the before and after runs, once both have been run. | |||
| 15 | Total correct runs | 0Assistant Question Test!E15=SUM(E5:E13)Total correct answers out of 27 runs: nine questions, three runs each. | 0Assistant Question Test!F15=SUM(F5:F13)Total correct answers out of 27 runs: nine questions, three runs each. | emptyAssistant 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. | |||
| 17 | Limits: 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.
View only. The file itself is not offered for download.