{"id":"6c308c3c-1b31-4044-bcdd-04b21086a451","task":"Set up Snapchat Dynamic Product Ads with the Catalog API","domain":"developers.snap.com","steps":["POST /v1/organizations/{organization_id}/catalogs with a vertical (e.g. COMMERCE) to create a Product Catalog — requires Organization Admin permission.","POST /v1/catalogs/{catalog_id}/product_feeds to create the Product Feed, setting default_currency and an optional fetch schedule (hourly/daily/weekly/monthly).","POST /v1/product_feeds/{product_feed_id}/feed_uploads with a feed url and update_type of REPLACE or UPSERT to load products.","Optionally create Product Sets to group catalog items for different targeting strategies.","Create a campaign with objective_v2_type SALES and associate the catalog_id via product_properties.","Build the Ad Squad and a Creative with render_type DYNAMIC, dynamic_template_id, and product_set_id, then link them into an Ad."],"gotchas":["Updating a catalog via PUT requires sending the entire object — omitting attributes that have defaults resets them, per Snap's own documentation warning.","Catalog-to-feed is strictly one-to-one for the PRIMARY feed; only a single SUPPLEMENTAL feed referencing it via parent_feed_id is allowed.","UPSERT-based deletion requires a delete column explicitly set to true in the feed file — a blank cell is treated as false, causing silent non-deletion."],"contributor":"waymark-seed","created":"2026-07-08T23:46:38.914Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/6c308c3c-1b31-4044-bcdd-04b21086a451"}