{
  "schemaVersion": 1,
  "measuredOn": "2026-09-05",
  "scope": "Synthetic dimension fixtures and local rule evaluations, not Google approval or product-photo suitability. No file was submitted to Google. The 1500-pixel recommendation, visual content, provenance, live URL and account conditions are outside these measurements.",
  "method": "Deterministic 8-bit RGB PNG grids with real compressed scanlines. File size and SHA-256 come from the saved bytes; dimensions and format use the site header inspector. Evaluations use the real destination coach and upload requirements engine. Unit tests independently decompress every scanline and validate chunk checksums.",
  "runtime": {
    "node": "22.18.0",
    "zlib": "1.3.1-470d3a2"
  },
  "generator": {
    "file": "scripts/generate-merchant-image-evidence.mjs",
    "sha256": "d61171e521f2c7c3412db384307a962fdfc6e3b35ee3d6fbf7a58b91a9a08ab9"
  },
  "implementations": [
    {
      "file": "data/merchant-image-requirements.data.js",
      "sha256": "1f5964dac311c689face7ffc599bde6e69fd3fa2cf15f62567437cd71f2f2ad7"
    },
    {
      "file": "src/pages/check-my-file/destination-coach.js",
      "sha256": "4ceb2a21feb3013c7597f2bca2dbd9ecb4c090e58b222ab31efeaf98ffc08953"
    },
    {
      "file": "src/pages/check-my-file/requirements.js",
      "sha256": "002432bbce626324574cb7a49ab7cf88103a4c98d0103f9b365a14f87cb03140"
    },
    {
      "file": "src/pages/check-my-file/format-detection.js",
      "sha256": "61371dd55b7f099a4ae8664fd77d055645172aa85dcff797b24f9c5cd18efdae"
    }
  ],
  "profiles": [
    {
      "presetId": "google-merchant-product-image",
      "label": "Google Merchant product image · until 30 Jan 2027",
      "reviewedOn": "2026-09-05",
      "effectiveFrom": null,
      "effectiveUntil": "2027-01-30",
      "minimumWidth": 100,
      "minimumHeight": 100,
      "maximumPixels": 64000000,
      "sourceRuleIds": [
        "merchant-dimensions",
        "merchant-file-size",
        "merchant-format",
        "merchant-still-gif"
      ],
      "sources": [
        {
          "id": "image-link",
          "title": "Image link [image_link]",
          "url": "https://support.google.com/merchants/answer/6324350?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "product-data",
          "title": "Product data specification",
          "url": "https://support.google.com/merchants/answer/7052112?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "image-too-small",
          "title": "How to fix: Image too small",
          "url": "https://support.google.com/merchants/answer/12159030?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "update-2026",
          "title": "Merchant Center product data specification update 2026",
          "url": "https://support.google.com/merchants/answer/16989427?hl=en",
          "language": "en",
          "publishedOn": "2026-04-14",
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "unsupported-format",
          "title": "How to fix: Unsupported image type",
          "url": "https://support.google.com/merchants/answer/12159031?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        }
      ],
      "acceptanceDisclaimer": "Passing these checks means the file matches the documented rules that JPEGConvert can evaluate. It does not guarantee that Google will accept, display, or rank the image."
    },
    {
      "presetId": "google-merchant-apparel-image",
      "label": "Google Merchant apparel image · until 30 Jan 2027",
      "reviewedOn": "2026-09-05",
      "effectiveFrom": null,
      "effectiveUntil": "2027-01-30",
      "minimumWidth": 250,
      "minimumHeight": 250,
      "maximumPixels": 64000000,
      "sourceRuleIds": [
        "merchant-dimensions",
        "merchant-file-size",
        "merchant-format",
        "merchant-still-gif"
      ],
      "sources": [
        {
          "id": "image-link",
          "title": "Image link [image_link]",
          "url": "https://support.google.com/merchants/answer/6324350?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "product-data",
          "title": "Product data specification",
          "url": "https://support.google.com/merchants/answer/7052112?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "image-too-small",
          "title": "How to fix: Image too small",
          "url": "https://support.google.com/merchants/answer/12159030?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "update-2026",
          "title": "Merchant Center product data specification update 2026",
          "url": "https://support.google.com/merchants/answer/16989427?hl=en",
          "language": "en",
          "publishedOn": "2026-04-14",
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "unsupported-format",
          "title": "How to fix: Unsupported image type",
          "url": "https://support.google.com/merchants/answer/12159031?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        }
      ],
      "acceptanceDisclaimer": "Passing these checks means the file matches the documented rules that JPEGConvert can evaluate. It does not guarantee that Google will accept, display, or rank the image."
    },
    {
      "presetId": "google-merchant-2027-image",
      "label": "Google Merchant image · 2027 readiness",
      "reviewedOn": "2026-09-05",
      "effectiveFrom": "2027-01-31",
      "effectiveUntil": null,
      "minimumWidth": 500,
      "minimumHeight": 500,
      "maximumPixels": 64000000,
      "sourceRuleIds": [
        "merchant-dimensions",
        "merchant-file-size",
        "merchant-format",
        "merchant-still-gif"
      ],
      "sources": [
        {
          "id": "image-link",
          "title": "Image link [image_link]",
          "url": "https://support.google.com/merchants/answer/6324350?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "product-data",
          "title": "Product data specification",
          "url": "https://support.google.com/merchants/answer/7052112?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "image-too-small",
          "title": "How to fix: Image too small",
          "url": "https://support.google.com/merchants/answer/12159030?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "update-2026",
          "title": "Merchant Center product data specification update 2026",
          "url": "https://support.google.com/merchants/answer/16989427?hl=en",
          "language": "en",
          "publishedOn": "2026-04-14",
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        },
        {
          "id": "unsupported-format",
          "title": "How to fix: Unsupported image type",
          "url": "https://support.google.com/merchants/answer/12159031?hl=en",
          "language": "en",
          "publishedOn": null,
          "reviewedOn": "2026-09-05",
          "publisher": "Google Merchant Center Help",
          "official": true
        }
      ],
      "acceptanceDisclaimer": "Passing these checks means the file matches the documented rules that JPEGConvert can evaluate. It does not guarantee that Google will accept, display, or rank the image."
    }
  ],
  "fixtures": [
    {
      "id": "500x400",
      "kind": "synthetic-file-measurement",
      "file": "dimension-grid-500x400.png",
      "url": "/examples/merchant-images/dimension-grid-500x400.png",
      "format": "png",
      "width": 500,
      "height": 400,
      "pixels": 200000,
      "bytes": 3050,
      "sha256": "e535a2d3aac17bf19e9e5595e12afdb30d25d6ec2f635153ffac4ec9f64f48cb",
      "evaluations": [
        {
          "presetId": "google-merchant-product-image",
          "evaluation": {
            "status": "pass",
            "title": "Meets all 3 checked rules",
            "detail": "3 passed, 0 failed, 0 need a manual check, and 1 do not apply to this format.",
            "checks": [
              {
                "id": "max-size",
                "status": "pass",
                "title": "File size is within the limit",
                "detail": "3.05 KB leaves 16.0 MB before the 16,000,000-byte limit (16.0 MB).",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-file-size"
              },
              {
                "id": "allowed-formats",
                "status": "pass",
                "title": "File format is allowed",
                "detail": "PNG image is in your allowed-format list.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-format"
              },
              {
                "id": "dimensions",
                "status": "pass",
                "title": "Pixel dimensions meet the rule",
                "detail": "500 × 400 px (200,000 total pixels) is at least 100 px wide, at least 100 px tall, and no more than 64,000,000 total pixels.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-dimensions"
              },
              {
                "id": "still-image",
                "status": "not-applicable",
                "title": "The still-image rule does not apply to this format",
                "detail": "The selected rule applies only to GIF files.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-still-gif"
              }
            ]
          },
          "checkedSourceRules": [
            {
              "ruleId": "merchant-file-size",
              "sourceIds": [
                "image-link",
                "image-too-small"
              ]
            },
            {
              "ruleId": "merchant-format",
              "sourceIds": [
                "product-data",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-dimensions",
              "sourceIds": [
                "image-too-small",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-still-gif",
              "sourceIds": [
                "product-data"
              ]
            }
          ]
        },
        {
          "presetId": "google-merchant-apparel-image",
          "evaluation": {
            "status": "pass",
            "title": "Meets all 3 checked rules",
            "detail": "3 passed, 0 failed, 0 need a manual check, and 1 do not apply to this format.",
            "checks": [
              {
                "id": "max-size",
                "status": "pass",
                "title": "File size is within the limit",
                "detail": "3.05 KB leaves 16.0 MB before the 16,000,000-byte limit (16.0 MB).",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-file-size"
              },
              {
                "id": "allowed-formats",
                "status": "pass",
                "title": "File format is allowed",
                "detail": "PNG image is in your allowed-format list.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-format"
              },
              {
                "id": "dimensions",
                "status": "pass",
                "title": "Pixel dimensions meet the rule",
                "detail": "500 × 400 px (200,000 total pixels) is at least 250 px wide, at least 250 px tall, and no more than 64,000,000 total pixels.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-dimensions"
              },
              {
                "id": "still-image",
                "status": "not-applicable",
                "title": "The still-image rule does not apply to this format",
                "detail": "The selected rule applies only to GIF files.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-still-gif"
              }
            ]
          },
          "checkedSourceRules": [
            {
              "ruleId": "merchant-file-size",
              "sourceIds": [
                "image-link",
                "image-too-small"
              ]
            },
            {
              "ruleId": "merchant-format",
              "sourceIds": [
                "product-data",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-dimensions",
              "sourceIds": [
                "image-too-small",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-still-gif",
              "sourceIds": [
                "product-data"
              ]
            }
          ]
        },
        {
          "presetId": "google-merchant-2027-image",
          "evaluation": {
            "status": "fail",
            "title": "Does not meet every upload rule",
            "detail": "2 passed, 1 failed, 0 need a manual check, and 1 do not apply to this format.",
            "checks": [
              {
                "id": "max-size",
                "status": "pass",
                "title": "File size is within the limit",
                "detail": "3.05 KB leaves 16.0 MB before the 16,000,000-byte limit (16.0 MB).",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-file-size"
              },
              {
                "id": "allowed-formats",
                "status": "pass",
                "title": "File format is allowed",
                "detail": "PNG image is in your allowed-format list.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-format"
              },
              {
                "id": "dimensions",
                "status": "fail",
                "title": "Pixel dimensions do not meet the rule",
                "detail": "500 × 400 px (200,000 total pixels) is too short. The file needs to be at least 500 px wide, at least 500 px tall, and no more than 64,000,000 total pixels.",
                "action": {
                  "label": "See resize options",
                  "href": "#recommended-tools"
                },
                "kind": "requirement",
                "sourceRuleId": "merchant-dimensions"
              },
              {
                "id": "still-image",
                "status": "not-applicable",
                "title": "The still-image rule does not apply to this format",
                "detail": "The selected rule applies only to GIF files.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-still-gif"
              }
            ]
          },
          "checkedSourceRules": [
            {
              "ruleId": "merchant-file-size",
              "sourceIds": [
                "image-link",
                "image-too-small"
              ]
            },
            {
              "ruleId": "merchant-format",
              "sourceIds": [
                "product-data",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-dimensions",
              "sourceIds": [
                "update-2026",
                "image-too-small",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-still-gif",
              "sourceIds": [
                "product-data"
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "499x500",
      "kind": "synthetic-file-measurement",
      "file": "dimension-grid-499x500.png",
      "url": "/examples/merchant-images/dimension-grid-499x500.png",
      "format": "png",
      "width": 499,
      "height": 500,
      "pixels": 249500,
      "bytes": 3777,
      "sha256": "057c2be0d0c5509fdf9684ced6d6017e6c3cdb7d36a9a85c686d444324a5fde2",
      "evaluations": [
        {
          "presetId": "google-merchant-product-image",
          "evaluation": {
            "status": "pass",
            "title": "Meets all 3 checked rules",
            "detail": "3 passed, 0 failed, 0 need a manual check, and 1 do not apply to this format.",
            "checks": [
              {
                "id": "max-size",
                "status": "pass",
                "title": "File size is within the limit",
                "detail": "3.78 KB leaves 16.0 MB before the 16,000,000-byte limit (16.0 MB).",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-file-size"
              },
              {
                "id": "allowed-formats",
                "status": "pass",
                "title": "File format is allowed",
                "detail": "PNG image is in your allowed-format list.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-format"
              },
              {
                "id": "dimensions",
                "status": "pass",
                "title": "Pixel dimensions meet the rule",
                "detail": "499 × 500 px (249,500 total pixels) is at least 100 px wide, at least 100 px tall, and no more than 64,000,000 total pixels.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-dimensions"
              },
              {
                "id": "still-image",
                "status": "not-applicable",
                "title": "The still-image rule does not apply to this format",
                "detail": "The selected rule applies only to GIF files.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-still-gif"
              }
            ]
          },
          "checkedSourceRules": [
            {
              "ruleId": "merchant-file-size",
              "sourceIds": [
                "image-link",
                "image-too-small"
              ]
            },
            {
              "ruleId": "merchant-format",
              "sourceIds": [
                "product-data",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-dimensions",
              "sourceIds": [
                "image-too-small",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-still-gif",
              "sourceIds": [
                "product-data"
              ]
            }
          ]
        },
        {
          "presetId": "google-merchant-apparel-image",
          "evaluation": {
            "status": "pass",
            "title": "Meets all 3 checked rules",
            "detail": "3 passed, 0 failed, 0 need a manual check, and 1 do not apply to this format.",
            "checks": [
              {
                "id": "max-size",
                "status": "pass",
                "title": "File size is within the limit",
                "detail": "3.78 KB leaves 16.0 MB before the 16,000,000-byte limit (16.0 MB).",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-file-size"
              },
              {
                "id": "allowed-formats",
                "status": "pass",
                "title": "File format is allowed",
                "detail": "PNG image is in your allowed-format list.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-format"
              },
              {
                "id": "dimensions",
                "status": "pass",
                "title": "Pixel dimensions meet the rule",
                "detail": "499 × 500 px (249,500 total pixels) is at least 250 px wide, at least 250 px tall, and no more than 64,000,000 total pixels.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-dimensions"
              },
              {
                "id": "still-image",
                "status": "not-applicable",
                "title": "The still-image rule does not apply to this format",
                "detail": "The selected rule applies only to GIF files.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-still-gif"
              }
            ]
          },
          "checkedSourceRules": [
            {
              "ruleId": "merchant-file-size",
              "sourceIds": [
                "image-link",
                "image-too-small"
              ]
            },
            {
              "ruleId": "merchant-format",
              "sourceIds": [
                "product-data",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-dimensions",
              "sourceIds": [
                "image-too-small",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-still-gif",
              "sourceIds": [
                "product-data"
              ]
            }
          ]
        },
        {
          "presetId": "google-merchant-2027-image",
          "evaluation": {
            "status": "fail",
            "title": "Does not meet every upload rule",
            "detail": "2 passed, 1 failed, 0 need a manual check, and 1 do not apply to this format.",
            "checks": [
              {
                "id": "max-size",
                "status": "pass",
                "title": "File size is within the limit",
                "detail": "3.78 KB leaves 16.0 MB before the 16,000,000-byte limit (16.0 MB).",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-file-size"
              },
              {
                "id": "allowed-formats",
                "status": "pass",
                "title": "File format is allowed",
                "detail": "PNG image is in your allowed-format list.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-format"
              },
              {
                "id": "dimensions",
                "status": "fail",
                "title": "Pixel dimensions do not meet the rule",
                "detail": "499 × 500 px (249,500 total pixels) is too narrow. The file needs to be at least 500 px wide, at least 500 px tall, and no more than 64,000,000 total pixels.",
                "action": {
                  "label": "See resize options",
                  "href": "#recommended-tools"
                },
                "kind": "requirement",
                "sourceRuleId": "merchant-dimensions"
              },
              {
                "id": "still-image",
                "status": "not-applicable",
                "title": "The still-image rule does not apply to this format",
                "detail": "The selected rule applies only to GIF files.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-still-gif"
              }
            ]
          },
          "checkedSourceRules": [
            {
              "ruleId": "merchant-file-size",
              "sourceIds": [
                "image-link",
                "image-too-small"
              ]
            },
            {
              "ruleId": "merchant-format",
              "sourceIds": [
                "product-data",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-dimensions",
              "sourceIds": [
                "update-2026",
                "image-too-small",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-still-gif",
              "sourceIds": [
                "product-data"
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "500x500",
      "kind": "synthetic-file-measurement",
      "file": "dimension-grid-500x500.png",
      "url": "/examples/merchant-images/dimension-grid-500x500.png",
      "format": "png",
      "width": 500,
      "height": 500,
      "pixels": 250000,
      "bytes": 3789,
      "sha256": "e360798913005fd296792efd6ee86b166042247d2c92e388b248b60fc93e5c71",
      "evaluations": [
        {
          "presetId": "google-merchant-product-image",
          "evaluation": {
            "status": "pass",
            "title": "Meets all 3 checked rules",
            "detail": "3 passed, 0 failed, 0 need a manual check, and 1 do not apply to this format.",
            "checks": [
              {
                "id": "max-size",
                "status": "pass",
                "title": "File size is within the limit",
                "detail": "3.79 KB leaves 16.0 MB before the 16,000,000-byte limit (16.0 MB).",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-file-size"
              },
              {
                "id": "allowed-formats",
                "status": "pass",
                "title": "File format is allowed",
                "detail": "PNG image is in your allowed-format list.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-format"
              },
              {
                "id": "dimensions",
                "status": "pass",
                "title": "Pixel dimensions meet the rule",
                "detail": "500 × 500 px (250,000 total pixels) is at least 100 px wide, at least 100 px tall, and no more than 64,000,000 total pixels.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-dimensions"
              },
              {
                "id": "still-image",
                "status": "not-applicable",
                "title": "The still-image rule does not apply to this format",
                "detail": "The selected rule applies only to GIF files.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-still-gif"
              }
            ]
          },
          "checkedSourceRules": [
            {
              "ruleId": "merchant-file-size",
              "sourceIds": [
                "image-link",
                "image-too-small"
              ]
            },
            {
              "ruleId": "merchant-format",
              "sourceIds": [
                "product-data",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-dimensions",
              "sourceIds": [
                "image-too-small",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-still-gif",
              "sourceIds": [
                "product-data"
              ]
            }
          ]
        },
        {
          "presetId": "google-merchant-apparel-image",
          "evaluation": {
            "status": "pass",
            "title": "Meets all 3 checked rules",
            "detail": "3 passed, 0 failed, 0 need a manual check, and 1 do not apply to this format.",
            "checks": [
              {
                "id": "max-size",
                "status": "pass",
                "title": "File size is within the limit",
                "detail": "3.79 KB leaves 16.0 MB before the 16,000,000-byte limit (16.0 MB).",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-file-size"
              },
              {
                "id": "allowed-formats",
                "status": "pass",
                "title": "File format is allowed",
                "detail": "PNG image is in your allowed-format list.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-format"
              },
              {
                "id": "dimensions",
                "status": "pass",
                "title": "Pixel dimensions meet the rule",
                "detail": "500 × 500 px (250,000 total pixels) is at least 250 px wide, at least 250 px tall, and no more than 64,000,000 total pixels.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-dimensions"
              },
              {
                "id": "still-image",
                "status": "not-applicable",
                "title": "The still-image rule does not apply to this format",
                "detail": "The selected rule applies only to GIF files.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-still-gif"
              }
            ]
          },
          "checkedSourceRules": [
            {
              "ruleId": "merchant-file-size",
              "sourceIds": [
                "image-link",
                "image-too-small"
              ]
            },
            {
              "ruleId": "merchant-format",
              "sourceIds": [
                "product-data",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-dimensions",
              "sourceIds": [
                "image-too-small",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-still-gif",
              "sourceIds": [
                "product-data"
              ]
            }
          ]
        },
        {
          "presetId": "google-merchant-2027-image",
          "evaluation": {
            "status": "pass",
            "title": "Meets all 3 checked rules",
            "detail": "3 passed, 0 failed, 0 need a manual check, and 1 do not apply to this format.",
            "checks": [
              {
                "id": "max-size",
                "status": "pass",
                "title": "File size is within the limit",
                "detail": "3.79 KB leaves 16.0 MB before the 16,000,000-byte limit (16.0 MB).",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-file-size"
              },
              {
                "id": "allowed-formats",
                "status": "pass",
                "title": "File format is allowed",
                "detail": "PNG image is in your allowed-format list.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-format"
              },
              {
                "id": "dimensions",
                "status": "pass",
                "title": "Pixel dimensions meet the rule",
                "detail": "500 × 500 px (250,000 total pixels) is at least 500 px wide, at least 500 px tall, and no more than 64,000,000 total pixels.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-dimensions"
              },
              {
                "id": "still-image",
                "status": "not-applicable",
                "title": "The still-image rule does not apply to this format",
                "detail": "The selected rule applies only to GIF files.",
                "action": null,
                "kind": "requirement",
                "sourceRuleId": "merchant-still-gif"
              }
            ]
          },
          "checkedSourceRules": [
            {
              "ruleId": "merchant-file-size",
              "sourceIds": [
                "image-link",
                "image-too-small"
              ]
            },
            {
              "ruleId": "merchant-format",
              "sourceIds": [
                "product-data",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-dimensions",
              "sourceIds": [
                "update-2026",
                "image-too-small",
                "image-link"
              ]
            },
            {
              "ruleId": "merchant-still-gif",
              "sourceIds": [
                "product-data"
              ]
            }
          ]
        }
      ]
    }
  ],
  "calculations": [
    {
      "id": "total-pixels-8000x8000",
      "kind": "dimensions-only-calculation",
      "scope": "Arithmetic and requirement evaluation only. No image file was generated, decoded, uploaded, or measured for this case.",
      "input": {
        "width": 8000,
        "height": 8000
      },
      "pixels": 64000000,
      "presetId": "google-merchant-2027-image",
      "evaluation": {
        "status": "pass",
        "title": "Meets all 1 checked rule",
        "detail": "1 passed, 0 failed, 0 need a manual check, and 0 do not apply to this format.",
        "checks": [
          {
            "id": "dimensions",
            "status": "pass",
            "title": "Pixel dimensions meet the rule",
            "detail": "8,000 × 8,000 px (64,000,000 total pixels) is at least 500 px wide, at least 500 px tall, and no more than 64,000,000 total pixels.",
            "action": null,
            "kind": "requirement",
            "sourceRuleId": "merchant-dimensions"
          }
        ]
      },
      "checkedSourceRules": [
        {
          "ruleId": "merchant-dimensions",
          "sourceIds": [
            "update-2026",
            "image-too-small",
            "image-link"
          ]
        }
      ]
    },
    {
      "id": "total-pixels-8001x8000",
      "kind": "dimensions-only-calculation",
      "scope": "Arithmetic and requirement evaluation only. No image file was generated, decoded, uploaded, or measured for this case.",
      "input": {
        "width": 8001,
        "height": 8000
      },
      "pixels": 64008000,
      "presetId": "google-merchant-2027-image",
      "evaluation": {
        "status": "fail",
        "title": "Does not meet every upload rule",
        "detail": "0 passed, 1 failed, 0 need a manual check, and 0 do not apply to this format.",
        "checks": [
          {
            "id": "dimensions",
            "status": "fail",
            "title": "Pixel dimensions do not meet the rule",
            "detail": "8,001 × 8,000 px (64,008,000 total pixels) is over the total-pixel limit. The file needs to be at least 500 px wide, at least 500 px tall, and no more than 64,000,000 total pixels.",
            "action": {
              "label": "See resize options",
              "href": "#recommended-tools"
            },
            "kind": "requirement",
            "sourceRuleId": "merchant-dimensions"
          }
        ]
      },
      "checkedSourceRules": [
        {
          "ruleId": "merchant-dimensions",
          "sourceIds": [
            "update-2026",
            "image-too-small",
            "image-link"
          ]
        }
      ]
    }
  ]
}
