# Merchant API cutover review

Author: George Kelly · Prepared October 17, 2026 UTC

Manual worksheet accompanying https://www.iamgeorgekelly.com/field-guide/content-api-410-merchant-api-migration

This is an authored review method. It is not an API payload, automated test, Google certification, or record of an actual migration. Blank means unresolved, not passed. The four examples in the companion JSON are fictional.

## Scope before testing

- Review ID and owner:
- Custom integration, platform provider, or mixed:
- Account and Cloud project references (redacted):
- Jobs and responsible owners, including scheduled and infrequent jobs:
- Old request path / intended new request path:
- Incident time, error reason, and private evidence reference:
- Extension status and expiry, if applicable (retain approval evidence):
- Intended account / language / feed label / data source:
- Chosen sample and why it covers relevant cases:
- Catalog records outside the sample:
- Observation window and expected processing/reconciliation policy:
- Authorized test environment and allowed changes:
- Stop conditions, recovery owner, and approved recovery procedure:

Keep credentials, tokens, customer information, and raw internal logs in their authorized private systems. Use redacted evidence references here.

## Eight checks

For every row record **not reviewed / open / supported**, owner, expected result, actual observation, timestamp, evidence reference, and next action. “Supported” applies only to the declared scope and evidence.

| Check | Minimum review question |
| --- | --- |
| 1. Caller inventory | Have all in-scope jobs and their actual request paths been identified? |
| 2. Registration and access | Does the intended project have the required developer registration and authorized access to this account? |
| 3. Source ownership | Which dataSource owns each sampled input? Are rules, label/language constraints, and any planned source move reviewed? |
| 4. Exact identity | Do account, offerId, language, feed label, variant, and pack identify the same selection? |
| 5. Value mapping | Do the submitted amounts, currency, availability, and relevant attributes preserve the intended values? |
| 6. Processed result | Are input response, later processed product, issues, and destination status separately recorded? |
| 7. Update continuity | Did an authorized controlled change produce the expected later processed result? |
| 8. Cutover control | Is the active writer named, with monitored jobs, stop conditions, and an approved recovery procedure? |

Repeat this record for each check:

```text
Check number:
State:
Owner:
Expected result:
Actual observation:
Observed at (with timezone):
Evidence reference:
Unresolved scope or discrepancy:
Next action and due date:
Reviewer:
```

## Exact-item observation

- Internal item reference / offerId:
- Account / language / feed label:
- Variant options and pack:
- Existing dataSource name / chosen dataSource name:
- Source move intended? Rules reviewed by:
- Expected regular price / sale price / currency / availability:
- Submitted price representation and independent conversion check:
- Returned ProductInput name / processed product reference:
- Write response and time:
- Later processed product observation and time:
- Destination status, issues, and time:
- Subsequent controlled update: expected / submitted / observed / times:
- Hold, discrepancy, next action, owner:

## Fictional arithmetic example

USD 19.99 equals 19,990,000 micros. A Price example uses `amountMicros=19990000` and `currencyCode=USD`. This is not a complete request. Confirm conversion, currency, and price role independently; a valid conversion does not prove that the chosen offer is correct.

## Cutover decision

- Decision: hold / approve stated scope / request more evidence:
- Checks still open:
- Active writer and jobs retired or changed under authorization:
- Recovery dependencies reviewed (do not assume deprecated endpoints are reliable):
- Post-cutover monitoring owner and window:
- Reconciliation evidence / discrepancies / reviewer:
- Explicit exclusions and next review:

An HTTP success, a source label, a catalog count, and product approval answer different questions. Retain each observation separately. Do not report a review as completed because one retry succeeded.

## Sources checked October 17, 2026

- https://developers.google.com/shopping-content/guides/deprecation-and-sunset
- https://developers.google.com/merchant/api/guides/compatibility/start-migration
- https://developers.google.com/merchant/api/guides/compatibility/data-sources
- https://developers.google.com/merchant/api/guides/compatibility/products
- https://developers.google.com/merchant/api/guides/products/add-manage
- https://developers.google.com/merchant/api/guides/compatibility/overview
