content: rebuild Modules 2-8 to the full lesson-production standard#36
Conversation
Module 2's four files (match types, keyword research workflow, negative keywords, keyword grouping) had the factual and voice-guide fixes from PR #32 but were still missing the "What you can do after this lesson", "The decision in one sentence", "Your turn", and "Client language" blocks that the lesson-production standard in docs/CURRICULUM-REDESIGN.md requires (Modules 0-1 already had these). Adds them without touching existing body content, tables, Key Takeaways, Quick check, or What to read next.
Modules 3-8 (19 files) had the factual and voice-guide fixes from PR #32 but were still missing the "What you can do after this lesson", "The decision in one sentence", "Your turn", and "Client language" blocks the lesson-production standard in docs/CURRICULUM-REDESIGN.md requires (Modules 0-1 already had these, Module 2 got them in the previous commit). Adds them without touching existing body content, tables, Key Takeaways, Quick check, Fact cards, or What to read next. Every new scenario is original (not a duplicate of an existing in-file example), math in worked "Your turn" scenarios was verified, and none of the debunked claims already corrected elsewhere in these files (break-even CPC framing, discontinued Item Comparison report, Bid Simulator, income-implies- profitability) were reintroduced. This closes out the "Rewrite foundation + campaign-building lessons using the lesson-production standard" item from issue #24's Release 2 checklist for all of Modules 0-8.
📝 WalkthroughWalkthroughThe curriculum lessons across modules 2–8 now include explicit learning outcomes, concise decision rules, “Your turn” exercises with worked guidance, and client-facing language for explaining the taught strategies. ChangesKeyword research
Listing optimization
Campaign architecture
Portfolio strategy
Bidding lab
Search-term triage
Competitive intelligence
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 15
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@content/curriculum/modules/2-keyword-research/2.1-match-types.mdx`:
- Around line 184-188: Update the “Client language” quote in
content/curriculum/modules/2-keyword-research/2.1-match-types.mdx#L184-L188 to
contain exactly two plain client-facing sentences. Apply the same two-sentence
requirement to
content/curriculum/modules/2-keyword-research/2.2-keyword-research-workflow.mdx#L234-L238,
2.3-negative-keywords.mdx#L194-L198, 2.4-keyword-grouping.mdx#L208-L212,
3-listing-optimization/3.2-listing-anatomy.mdx#L205-L209, and
3.3-aplus-content.mdx#L183-L187; reduce the quote in
3-listing-optimization/3.1-listing-quality-score.mdx#L209-L213 from three
sentences to two, preserving the existing client-facing meaning.
In `@content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx`:
- Around line 17-19: Update the negative-keyword guidance in
content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx lines
17-19 to require sufficient spend or clicks with no sales, while allowing
clearly irrelevant terms as an exception. Update the recommendation in
content/curriculum/modules/2-keyword-research/2.1-match-types.mdx lines 178-182
to require supporting clicks, spend, orders, or a target-ACoS threshold before
suggesting a negative.
In
`@content/curriculum/modules/3-listing-optimization/3.1-listing-quality-score.mdx`:
- Around line 205-207: Update the scenario’s inconsistent advertising inputs so
CPC, CVR, price, and ACoS produce the stated ACoS when calculated; adjust either
the CVR or ACoS value while preserving the lesson’s intended recommendation and
surrounding discussion.
In `@content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx`:
- Around line 201-203: Revise the worked answer to use only the supplied facts:
a collapsible silicone travel mug and 350ml capacity. Remove or clearly label as
unverified assumptions the leakproof, tested-lid, fit, commuting, camping, and
other unsupported claims, and do not describe the product name as brand-level;
keep the title, bullet, and image recommendations grounded in confirmed
information.
- Around line 207-209: Revise the quoted explanation so it does not suggest that
rewriting the title or adding search terms expands ad eligibility or guarantees
more queries. Preserve the point about naturally improving relevance while
explicitly acknowledging that ad reach depends on campaign targeting and match
type.
In `@content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx`:
- Around line 179-181: Update the trademark-investment recommendation in the
lesson’s worked example to first verify Brand Registry eligibility for the
client’s country, account, and trademark filing path, including whether a
pending application qualifies. Treat the ₱18,000 spend as required only if
eligibility is not available without completing the trademark, then apply the
existing Q4 payback calculation.
- Around line 17-19: Revise the “The decision in one sentence” guidance and the
corresponding Brand Registry/A+ section to make enrollment conditional on
eligibility and supported by the seller’s own conversion data. Present improved
conversion and ACoS as a hypothesis to validate, not a universal outcome, while
preserving the recommendation to scale ad spend only after confirming ROI.
In
`@content/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdx`:
- Line 136: Update
content/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdx at
lines 136-136 to choose either phrase or broad match and provide a single
explicit budget allocation totaling 100%, with exact, discovery, and competitor
targeting amounts clearly accounting for the full budget. Update
content/curriculum/modules/4-campaign-architecture/4.4-campaign-architecture-practice.mdx
at lines 120-120 so the exact, discovery, and product-targeting amounts sum to
exactly ₱1,600.
In
`@content/curriculum/modules/4-campaign-architecture/4.2-sponsored-brands-display.mdx`:
- Around line 124-130: Revise the brand-defense guidance around the “Work it
through” section and its “Client language” quote: acknowledge that Sponsored
Products can defend branded searches through manual keyword targeting, while
presenting Sponsored Brands as the cleaner brand-led option when Brand Registry
is available. Replace the guarantee that SB “puts” products at the top with
language that it can compete for a top placement, and qualify Sponsored Display
past-viewer retargeting with account and marketplace eligibility.
In `@content/curriculum/modules/5-portfolio-strategy/5.1-campaign-portfolios.mdx`:
- Line 224: Update the portfolio budget explanation in “Work it through” to
explicitly identify the 60/25/15 allocation as a three-product-line adaptation
of the referenced 60/20/10/10 framework. Preserve the existing product
assignments and amounts while clarifying that the percentages are intentionally
adapted for three lines.
In `@content/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdx`:
- Line 202: Update the budget-increase guidance in “Work it through” to present
the 20–30% increase as a starting point rather than a guaranteed solution. Tie
the adjustment to remaining live through the 8PM–12AM PHT window, and advise
pairing it with bid cuts or pausing low-performing keywords if the budget would
still exhaust early.
In `@content/curriculum/modules/6-bidding-lab/6.1-bid-strategies.mdx`:
- Around line 163-169: Update the “Client language” quote to scope the “never
raise” statement to the base bid, acknowledging that placement adjustments may
increase the effective CPC above the configured amount. Preserve the
conservative rationale without presenting Fixed Bids or Dynamic Down Only as an
absolute CPC cap.
In
`@content/curriculum/modules/7-search-term-triage/7.1-search-term-analysis.mdx`:
- Around line 159-161: Update the “cutting board with juice groove”
classification in the “Work it through” section to provide a target ACoS or make
the Winner classification and aggressive-bid recommendation conditional on 14%
ACoS being below the campaign’s target. Do not present the current ACoS alone as
sufficient evidence for harvesting.
In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`:
- Around line 13-20: Reconcile the action taxonomy in the lesson with the
scenario’s Monitor recommendation: either add Monitor consistently to the
available-actions list, decision flowchart, and submission guidance, or replace
Monitor in the scenario with one of the existing five actions. Update all
affected references, including the section around the scenario at lines 165-178,
so learners can submit the recommended decision.
In
`@content/curriculum/modules/8-competitive-intelligence/8.2-share-of-voice.mdx`:
- Around line 162-164: Update the “Work it through” guidance for the 9% SOV
example to use Amazon’s Search Term Impression Share report for term-level share
and rank over a fixed window. Remove the recommendation to confirm SOV with a
short bid-ceiling test, since that measures bid elasticity rather than share of
voice, while preserving the Contender tier and bidding-strategy guidance.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 1e701765-4a49-431f-b051-1d467a60c7db
📒 Files selected for processing (23)
content/curriculum/modules/2-keyword-research/2.1-match-types.mdxcontent/curriculum/modules/2-keyword-research/2.2-keyword-research-workflow.mdxcontent/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdxcontent/curriculum/modules/2-keyword-research/2.4-keyword-grouping.mdxcontent/curriculum/modules/3-listing-optimization/3.1-listing-quality-score.mdxcontent/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdxcontent/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdxcontent/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdxcontent/curriculum/modules/4-campaign-architecture/4.2-sponsored-brands-display.mdxcontent/curriculum/modules/4-campaign-architecture/4.3-campaign-structure.mdxcontent/curriculum/modules/4-campaign-architecture/4.4-campaign-architecture-practice.mdxcontent/curriculum/modules/5-portfolio-strategy/5.1-campaign-portfolios.mdxcontent/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdxcontent/curriculum/modules/5-portfolio-strategy/5.3-seasonal-strategy.mdxcontent/curriculum/modules/6-bidding-lab/6.1-bid-strategies.mdxcontent/curriculum/modules/6-bidding-lab/6.2-placement-adjustments.mdxcontent/curriculum/modules/6-bidding-lab/6.3-bid-elevator-prep.mdxcontent/curriculum/modules/7-search-term-triage/7.1-search-term-analysis.mdxcontent/curriculum/modules/7-search-term-triage/7.2-negative-keywords.mdxcontent/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdxcontent/curriculum/modules/8-competitive-intelligence/8.1-brand-analytics.mdxcontent/curriculum/modules/8-competitive-intelligence/8.2-share-of-voice.mdxcontent/curriculum/modules/8-competitive-intelligence/8.3-competitor-benchmarking.mdx
| ## The decision in one sentence | ||
|
|
||
| A search term with real spend and no sales is a negative candidate; whether it's exact or phrase, campaign- or ad-group-level, depends on how narrow the waste is. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Require enough evidence before blocking a term.
Both lessons let low-data terms become negatives too early. Add a minimum clicks/spend or target-ACoS threshold, with a clear-irrelevance exception, before recommending a negative.
content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx#L17-L19: change “real spend and no sales” to “sufficient spend/clicks with no sales, or clearly irrelevant.”content/curriculum/modules/2-keyword-research/2.1-match-types.mdx#L178-L182: provide clicks, spend, orders, or a target-ACoS threshold before recommending a negative.
📍 Affects 2 files
content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx#L17-L19(this comment)content/curriculum/modules/2-keyword-research/2.1-match-types.mdx#L178-L182
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx`
around lines 17 - 19, Update the negative-keyword guidance in
content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx lines
17-19 to require sufficient spend or clicks with no sales, while allowing
clearly irrelevant terms as an exception. Update the recommendation in
content/curriculum/modules/2-keyword-research/2.1-match-types.mdx lines 178-182
to require supporting clicks, spend, orders, or a target-ACoS threshold before
suggesting a negative.
Fixes across 14 files: - 3.1: fixed the "Your turn" scenario's ACoS arithmetic (stated 61%, actual math gives ~101% at the given CPC/CVR/price); reduced the Client language quote from three sentences to two. - 3.2: removed invented product claims (leakproof, tested lid, "brand-level" naming) not supported by the brief, framing them as assumptions to confirm instead; reworded the title-rewrite explanation so it doesn't imply a title change alone expands ad eligibility, since reach still depends on campaign targeting and match type. - 3.3: made the "decision in one sentence" and worked scenario conditional on Brand Registry eligibility and the seller's own conversion data, instead of presenting A+ Content's ACoS improvement as a guaranteed outcome; the scenario now checks eligibility (e.g. IP Accelerator or non-US pending-trademark paths) before assuming the full trademark spend is required. - 4.1, 4.4: replaced budget ranges that only summed to 75-100% with one explicit split (55/30/15) that sums to exactly the stated daily budget in each scenario. - 4.2: softened the brand-defense guidance so Sponsored Products isn't described as unable to defend a branded search at all, and Sponsored Brands "puts" a product back at the top became "can compete for a top placement"; qualified Sponsored Display retargeting with its own Brand Registry/eligibility requirement. - 5.1: labeled the 60/25/15 portfolio split as a three-product-line adaptation of the lesson's own 60/20/10/10 framework, instead of reading as an unexplained mismatch. - 5.2: reframed the 20-30% budget increase as a starting point tied to the actual 8PM-12AM PHT peak window, with bid cuts or pausing low performers as the fallback if it still exhausts early. - 6.1: scoped the "never raise above what we set" client-language claim to the base bid, since placement adjustments can still lift the effective CPC above it. - 7.1: made the "Winner" classification and aggressive-bid recommendation conditional on a stated 20% target ACoS, instead of presenting a bare 14% ACoS as sufficient evidence on its own. - 7.3: replaced a "Monitor" classification that isn't one of the lesson's five named actions with "Keep for now," matching the precedent this lesson's own quick-practice section already uses for low-click terms. - 8.2: replaced a bid-ceiling-test suggestion (which measures bid elasticity, not SOV) with a reference to Amazon's actual Search Term Impression Share report for term-level share and rank. - 2.1, 2.2: tightened Client language quotes to two clean sentences.
There was a problem hiding this comment.
Actionable comments posted: 7
♻️ Duplicate comments (1)
content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx (1)
15-19: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winReconcile the five-action taxonomy with “Monitor.”
The lesson lists five actions, but the flowchart still produces
Monitor, and the scenario maps a low-data, irrelevant-looking term toKeep. Keep requires relevance and consistent orders. Add Monitor as an explicit sixth “wait for data” state everywhere, or replace it with a formally defined action and update the flowchart and practice answers.As per coding guidelines, curriculum content must follow the documented lesson-production standard and voice rules.
Also applies to: 171-171
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx` around lines 15 - 19, Reconcile the action taxonomy across the lesson by adding Monitor as an explicit sixth state for low-data terms, or replace it with a formally defined existing action. Update the decision flowchart and all scenario/practice answers, including the low-data irrelevant-looking term, so Keep is reserved for relevant terms with consistent orders and every outcome uses the documented taxonomy and lesson-production voice.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx`:
- Line 209: Update the rewritten-title explanation in the listing optimization
curriculum to replace the claim that the old title matches only one search term
with wording that it gives shoppers limited product detail. Preserve the
existing caveat that displayed searches depend on campaign targeting and match
types, not title text alone.
- Line 203: Revise the worked answer in the listing-anatomy lesson so it only
states confirmed facts: a collapsible silicone travel mug and 350 ml capacity.
Remove or clearly mark “collapses to half the size,” “fit any bag pocket or cup
holder,” and similar unverified claims as client-verification placeholders,
while preserving the lesson’s documented production standard and voice.
In `@content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx`:
- Line 187: Update the client script’s trademark-cost statement in the quoted
Brand Registry guidance to make the ₱18,000 expense conditional: state that it
is necessary only if the client is not already eligible through a qualifying
pending trademark. Preserve the existing explanation of free enrollment and the
related Sponsored Brands benefit, while following the documented
lesson-production voice and standards.
- Line 181: Reword the A+ Content conversion-rate example in “Work it through”
so the 7% to 10% scenario is presented as a standalone hypothetical, not as
being within the cited 5–17% lift benchmark. Preserve the existing ACoS
calculations and trademark eligibility guidance.
In `@content/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdx`:
- Line 202: Revise the “Work it through” guidance so early budget exhaustion
alone does not trigger a budget increase: require acceptable ACOS/ROAS and
conversion efficiency first, otherwise prioritize bid reductions, negative
targeting, pausing waste, or reallocation. Qualify the 80–90% end-of-day pacing
range as a heuristic only for campaigns intended to spend their full budget, not
a universal target, while retaining the existing timing and optimization
context.
In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`:
- Around line 169-171: Revise the “silicone baking mat set” recommendation in
the “Work it through” section so Increase Bid is conditional on strong CTR and
confirmation that the term is not already winning top positions. Add those
scenario inputs and retain Increase Bid only when all required criteria are met;
otherwise specify the appropriate action based on the missing conditions.
- Around line 169-171: Update the “baking mat for kids crafts” example in the
work-through text to show “no sales” or “N/A” instead of “ACoS 0%,” while
preserving the existing Keep recommendation and low-click rationale.
---
Duplicate comments:
In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`:
- Around line 15-19: Reconcile the action taxonomy across the lesson by adding
Monitor as an explicit sixth state for low-data terms, or replace it with a
formally defined existing action. Update the decision flowchart and all
scenario/practice answers, including the low-data irrelevant-looking term, so
Keep is reserved for relevant terms with consistent orders and every outcome
uses the documented taxonomy and lesson-production voice.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 3b95315e-d496-46d5-bda6-d080f8de3951
📒 Files selected for processing (14)
content/curriculum/modules/2-keyword-research/2.1-match-types.mdxcontent/curriculum/modules/2-keyword-research/2.2-keyword-research-workflow.mdxcontent/curriculum/modules/3-listing-optimization/3.1-listing-quality-score.mdxcontent/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdxcontent/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdxcontent/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdxcontent/curriculum/modules/4-campaign-architecture/4.2-sponsored-brands-display.mdxcontent/curriculum/modules/4-campaign-architecture/4.4-campaign-architecture-practice.mdxcontent/curriculum/modules/5-portfolio-strategy/5.1-campaign-portfolios.mdxcontent/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdxcontent/curriculum/modules/6-bidding-lab/6.1-bid-strategies.mdxcontent/curriculum/modules/7-search-term-triage/7.1-search-term-analysis.mdxcontent/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdxcontent/curriculum/modules/8-competitive-intelligence/8.2-share-of-voice.mdx
🚧 Files skipped from review as they are similar to previous changes (10)
- content/curriculum/modules/4-campaign-architecture/4.2-sponsored-brands-display.mdx
- content/curriculum/modules/2-keyword-research/2.1-match-types.mdx
- content/curriculum/modules/2-keyword-research/2.2-keyword-research-workflow.mdx
- content/curriculum/modules/3-listing-optimization/3.1-listing-quality-score.mdx
- content/curriculum/modules/8-competitive-intelligence/8.2-share-of-voice.mdx
- content/curriculum/modules/7-search-term-triage/7.1-search-term-analysis.mdx
- content/curriculum/modules/4-campaign-architecture/4.4-campaign-architecture-practice.mdx
- content/curriculum/modules/6-bidding-lab/6.1-bid-strategies.mdx
- content/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdx
- content/curriculum/modules/5-portfolio-strategy/5.1-campaign-portfolios.mdx
|
|
||
| You're optimizing the listing for a $19.99 collapsible silicone travel mug. The current title is "Silicone Travel Mug." The current bullet 1 reads "350ml capacity." The main image sits on a white background but is only 900px, and there are just 3 images total. Before reading further: rewrite the title so it's PPC-optimized but still natural to read, rewrite bullet 1 using the feature to benefit to proof structure, and name the two image fixes needed before this listing is ready for real ad spend. | ||
|
|
||
| **Work it through:** Title: "Collapsible Silicone Travel Mug, 350ml Cup for On-the-Go Use." That adds the confirmed capacity and a general use-case phrase without inventing features the brief never confirmed, since a title should only promise what the listing can actually back up. Bullet 1: "COLLAPSES TO HALF THE SIZE. At 350ml, this mug flattens down to fit any bag pocket or cup holder once you're done with it. Confirm with the client whether it's leakproof and tested for daily carry before adding that as a third sentence, since an unverified durability claim is worse than none at all." That moves the bullet from a bare spec ("350ml capacity") toward feature and benefit, with proof added only once it's actually verified. Image fixes: the main image needs to reach at least 1000px so Amazon's zoom feature can activate, and the listing needs more than 3 images, at least 5, ideally with a lifestyle shot in position 2 showing the mug in use. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Keep the worked answer grounded in confirmed product facts.
The prompt confirms only a collapsible silicone travel mug and 350 ml capacity. “Collapses to half the size” and “fit any bag pocket or cup holder” add unverified claims; the later leakproof caveat does not remove them. Use confirmed facts or mark these as client-verification placeholders.
As per coding guidelines, curriculum content must follow the documented lesson-production standard and voice rules.
Proposed correction
- Bullet 1: "COLLAPSES TO HALF THE SIZE. At 350ml, this mug flattens down to fit any bag pocket or cup holder once you're done with it."
+ Bullet 1: "COLLAPSIBLE SILICONE DESIGN. Folds down for compact storage. 350 ml capacity."🧰 Tools
🪛 LanguageTool
[grammar] ~203-~203: Ensure spelling is correct
Context: ...llet 1: "COLLAPSES TO HALF THE SIZE. At 350ml, this mug flattens down to fit any bag ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~203-~203: ‘none at all’ might be wordy. Consider a shorter alternative.
Context: ...verified durability claim is worse than none at all." That moves the bullet from a bare spe...
(EN_WORDINESS_PREMIUM_NONE_AT_ALL)
[grammar] ~203-~203: Ensure spelling is correct
Context: ...That moves the bullet from a bare spec ("350ml capacity") toward feature and benefit, ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx` at
line 203, Revise the worked answer in the listing-anatomy lesson so it only
states confirmed facts: a collapsible silicone travel mug and 350 ml capacity.
Remove or clearly mark “collapses to half the size,” “fit any bag pocket or cup
holder,” and similar unverified claims as client-verification placeholders,
while preserving the lesson’s documented production standard and voice.
Source: Coding guidelines
|
|
||
| Use this when a client asks why you're rewriting a title that already has the product name in it: | ||
|
|
||
| > "The current title only matches one search term, so I'm rewriting it to naturally include the confirmed size and general use-case language. That can improve relevance signals, but how many searches we actually show for still depends on our campaign's targeting and match types, not the title alone." |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Do not claim the old title matches only one search term.
A title can contribute relevance to multiple queries; title text does not determine query reach by itself. Replace this with “gives shoppers limited product detail,” while keeping the existing caveat about targeting and match types.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx` at
line 209, Update the rewritten-title explanation in the listing optimization
curriculum to replace the claim that the old title matches only one search term
with wording that it gives shoppers limited product detail. Preserve the
existing caveat that displayed searches depend on campaign targeting and match
types, not title text alone.
|
|
||
| Your client sells a $22 insulated lunch box. They're not Brand Registered yet (trademark filed but not approved), their CPC (cost per click) is $0.60, and their current conversion rate is 7%. Ad sales are running about ₱60,000 a month. The client asks whether spending ₱18,000 to complete their trademark this quarter is worth it before their Q4 push. Before reading further: what's the first thing to check before recommending that spend, and using this lesson's ACoS (advertising cost of sales) math, what happens to ACoS if A+ Content lifts conversion rate from 7% to roughly 10%? | ||
|
|
||
| **Work it through:** Check eligibility first. A pending trademark filed through Amazon's IP Accelerator program, or a pending application in some countries outside the US, can sometimes enroll in Brand Registry before full registration; a trademark filed directly with the US trademark office generally can't. Confirm the client's filing path and country before treating the ₱18,000 as a hard prerequisite. If full registration really is required: ACoS is ad spend divided by ad sales, which works out to CPC divided by (conversion rate times price). At a 7% conversion rate: $0.60 / (0.07 × $22) = $0.60 / $1.54, about 39% ACoS. If A+ Content lifts conversion rate to 10%, within this lesson's commonly cited range: $0.60 / (0.10 × $22) = $0.60 / $2.20, about 27% ACoS. Against ₱60,000 a month in ad sales, that roughly 12-point gap is worth about ₱7,000 a month in modeled spend saved, which would repay the ₱18,000 trademark cost in under 3 months, once the client's own before-and-after data confirms the lift actually happens. Tell the client: check eligibility first, and if the trademark really is required, it's worth finishing before Q4, treating the ACoS improvement as a hypothesis to confirm, not a guarantee. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
file="content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx"
echo "== Outline =="
ast-grep outline "$file" --view expanded || true
echo
echo "== Relevant lines around the cited passage =="
sed -n '150,210p' "$file" | cat -n
echo
echo "== Search for the 5-17% range and related CVR wording =="
rg -n "5-17%|5–17%|conversion rate|CVR|percentage points|relative" "$file"Repository: projectamazonph/amph-v2
Length of output: 9722
Separate the 10% CVR example from the 5–17% lift benchmark. In content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx:181, 7% → 10% is a 3-point (42.9% relative) lift, so it shouldn’t be described as “within” the earlier 5–17% range unless that benchmark is restated in the same units. Reword it as a standalone hypothetical or recalculate the example against a matching lift range.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx` at
line 181, Reword the A+ Content conversion-rate example in “Work it through” so
the 7% to 10% scenario is presented as a standalone hypothetical, not as being
within the cited 5–17% lift benchmark. Preserve the existing ACoS calculations
and trademark eligibility guidance.
Source: Coding guidelines
|
|
||
| Use this when a client asks if the trademark cost for Brand Registry is worth it: | ||
|
|
||
| > "Brand Registry enrollment itself is free. The real cost is trademarking your brand name, which can pay for itself within months once we confirm the conversion lift with your own data, and also gives you access to Sponsored Brands ads you can't run without it." |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Carry the eligibility caveat into the client script.
The worked answer correctly says to verify whether the pending trademark qualifies first, but this script presents trademarking as the required cost. Say “if the client is not already eligible” before presenting ₱18,000 as necessary.
As per coding guidelines, curriculum content must follow the documented lesson-production standard and voice rules.
Proposed correction
-> "Brand Registry enrollment itself is free. The real cost is trademarking your brand name, which can pay for itself within months once we confirm the conversion lift with your own data, and also gives you access to Sponsored Brands ads you can't run without it."
+> "Brand Registry enrollment itself is free. First, we'll confirm whether your pending application already qualifies. If not, the remaining trademark cost may pay for itself once we confirm the conversion lift with your own data."🧰 Tools
🪛 LanguageTool
[style] ~187-~187: Try using a synonym here to strengthen your writing.
Context: ...rsion lift with your own data, and also gives you access to Sponsored Brands ads you can'...
(GIVE_PROVIDE)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx` at
line 187, Update the client script’s trademark-cost statement in the quoted
Brand Registry guidance to make the ₱18,000 expense conditional: state that it
is necessary only if the client is not already eligible through a qualifying
pending trademark. Preserve the existing explanation of free enrollment and the
related Sponsored Brands benefit, while following the documented
lesson-production voice and standards.
Source: Coding guidelines
|
|
||
| Your client's phone-case campaign has a ₱1,500 daily budget. It's 11AM and the dashboard already shows ₱1,200 spent, 80% of the day's budget. This is the third day in a row the campaign has paused by around 2PM. The client has a promo launching this Friday and doesn't want it shut out early. Before reading further: what does this burn rate pattern tell you, and what would you actually change before Friday? | ||
|
|
||
| **Work it through:** A good pacing target is 80 to 90% of the daily budget spent by end of day. Hitting 80% by 11AM, three days running, is nowhere near that: this campaign is burning through its budget in a few hours and going dark for the rest of the day, which is the classic "budget too low for demand" pattern, not a one-off spike. The fix is to raise the daily budget, roughly 20 to 30% as a starting point, so it can run further into the evening instead of pausing at 2PM. Check pacing again after the change, and be ready to pair it with bid cuts or pausing low-performing keywords if it's still exhausting before the peak PHT evening window (8PM to 12AM). Do this before Friday, not on Friday: a promo day is when you most want the campaign live through that window, not paused since early afternoon. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Do not infer “budget too low” from burn rate alone.
Spending 80% by 11AM proves early budget exhaustion, but not that the campaign should receive more budget; high CPC or low-quality traffic could be driving the spend. Make ACOS/ROAS and conversion efficiency the gate: increase budget only when performance is acceptable, otherwise reduce bids, add negatives, pause waste, or reallocate first. Amazon describes daily budgets as maximums that are not paced and also recommends reviewing bidding and targeting when optimizing spend. (advertising.amazon.com)
Please also qualify the “80–90% by end of day” figure as a heuristic for campaigns intended to use their full budget, not a universal success target.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdx` at
line 202, Revise the “Work it through” guidance so early budget exhaustion alone
does not trigger a budget increase: require acceptable ACOS/ROAS and conversion
efficiency first, otherwise prioritize bid reductions, negative targeting,
pausing waste, or reallocation. Qualify the 80–90% end-of-day pacing range as a
heuristic only for campaigns intended to spend their full budget, not a
universal target, while retaining the existing timing and optimization context.
| Your target ACoS (advertising cost of sales) is 20%. You're triaging a $22 silicone baking mat set. Four terms come in: "silicone baking mat set," 28 clicks, 6 orders, ACoS 11%, already exact match. "baking mat non stick," 24 clicks, 5 orders, ACoS 14%, currently broad match only. "baking mat oven liner," 19 clicks, 3 orders, ACoS 32%, exact match. "baking mat for kids crafts," 8 clicks, 0 orders, ACoS 0%. Before reading further: which of the five actions fits each term? | ||
|
|
||
| **Work it through:** "silicone baking mat set" is already exact match with ACoS well under target and consistent orders. That's room to spend more per click: Increase Bid. "baking mat non stick" is performing well (14% ACoS, under the 20% target) with 24 clicks, past the 15–20 click minimum, but it's still only broad match, so Harvest to Exact. "baking mat oven liner" is relevant and converting, but its 32% ACoS is above the 20% target, so Decrease Bid rather than negating a term that's actually bringing in orders. "baking mat for kids crafts" has 0 orders on only 8 clicks. That's under the 10-click threshold this lesson uses for a confident negative, and the term also signals a craft use case rather than baking, so the safest call is Keep for now, the same low-click "wait for more data" case this lesson's quick-practice answer #5 uses, revisiting once it clears 10+ clicks rather than negating today on too little evidence. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Provide the inputs required before recommending Increase Bid.
The exact-match term is sent to Increase Bid from low ACoS and order volume alone, but Action 5 also requires strong CTR and confirmation that it is not already winning top positions. Add those metrics or make the recommendation conditional; the current scenario does not support a definite bid increase.
🧰 Tools
🪛 LanguageTool
[grammar] ~169-~169: Use a hyphen to join words.
Context: ...1%, already exact match. "baking mat non stick," 24 clicks, 5 orders, ACoS 14%, c...
(QB_NEW_EN_HYPHEN)
[grammar] ~171-~171: Use a hyphen to join words.
Context: ...per click: Increase Bid. "baking mat non stick" is performing well (14% ACoS, und...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`
around lines 169 - 171, Revise the “silicone baking mat set” recommendation in
the “Work it through” section so Increase Bid is conditional on strong CTR and
confirmation that the term is not already winning top positions. Add those
scenario inputs and retain Increase Bid only when all required criteria are met;
otherwise specify the appropriate action based on the missing conditions.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE='content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx'
echo '--- target lines around 169-171 ---'
nl -ba "$FILE" | sed -n '150,190p'
echo
echo '--- search for ACoS and zero-sales phrasing in curriculum ---'
rg -n -C 2 'ACoS|0 orders|no sales|undefined|0%' content/curriculum/modules/7-search-term-triage content/curriculum | sed -n '1,240p'Repository: projectamazonph/amph-v2
Length of output: 237
🏁 Script executed:
#!/bin/bash
set -euo pipefail
FILE='content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx'
echo '--- target excerpt with line numbers ---'
awk 'NR>=150 && NR<=190 { printf "%4d %s\n", NR, $0 }' "$FILE"
echo
echo '--- curriculum search for zero-sales / ACoS language ---'
rg -n -C 2 'ACoS|0 orders|no sales|undefined|0%' content/curriculum | sed -n '1,240p'Repository: projectamazonph/amph-v2
Length of output: 32431
Use “no sales” or “N/A” instead of 0% for this term. With 8 clicks and 0 orders, ACoS is undefined in this lesson’s own definition; 0% reads like a profitable result and can mislead learners.
🧰 Tools
🪛 LanguageTool
[grammar] ~169-~169: Use a hyphen to join words.
Context: ...1%, already exact match. "baking mat non stick," 24 clicks, 5 orders, ACoS 14%, c...
(QB_NEW_EN_HYPHEN)
[grammar] ~171-~171: Use a hyphen to join words.
Context: ...per click: Increase Bid. "baking mat non stick" is performing well (14% ACoS, und...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`
around lines 169 - 171, Update the “baking mat for kids crafts” example in the
work-through text to show “no sales” or “N/A” instead of “ACoS 0%,” while
preserving the existing Keep recommendation and low-click rationale.
Summary
Follow-up to PR #32. Modules 2-8 got factual fixes and voice-guide compliance in PR #32, but were still missing four blocks that
docs/CURRICULUM-REDESIGN.md's lesson-production standard requires and that Modules 0-1 already had (from PR #31):This closes out the "Rewrite foundation + campaign-building lessons using the lesson-production standard" item from issue #24's Release 2 checklist, for all of Modules 0-8.
Scope: additions only. No existing body content, tables, Key Takeaways, Quick check, Fact cards, or "What to read next" sections were touched, in any of the 19 files.
content/curriculum/modules/3-listing-optimization/*(3 files)content/curriculum/modules/4-campaign-architecture/*(4 files)content/curriculum/modules/5-portfolio-strategy/*(3 files)content/curriculum/modules/6-bidding-lab/*(3 files)content/curriculum/modules/7-search-term-triage/*(3 files)content/curriculum/modules/8-competitive-intelligence/*(3 files)(Module 2's 4 files landed in a separate commit on this same branch, also included here.)
Every "Your turn" scenario is new (not a copy of an existing in-file example), and none of the debunked claims already corrected in these files elsewhere (break-even CPC framing, the discontinued Item Comparison report, the nonexistent Bid Simulator, income-implies-profitability) were reintroduced in the new text.
Test plan
Generated by Claude Code
Summary by CodeRabbit