Section

Campaign Wishlist

1 个模板实例,25 个 section 配置,4 类 block。

真实模板变体

Schema

{
  "name": "Campaign Wishlist",
  "class": "cmp-wl-section",
  "settings": [
    {
      "type": "text",
      "id": "heading",
      "label": "Heading",
      "info": "Maximum 120 characters",
      "default": "Wishlist & Win"
    },
    {
      "type": "text",
      "id": "badge_free",
      "label": "Badge: Free to enter",
      "info": "Maximum 30 characters",
      "default": "FREE TO ENTER"
    },
    {
      "type": "text",
      "id": "badge_winners",
      "label": "Badge: Winners count",
      "info": "Maximum 30 characters",
      "default": "5 WINNERS"
    },
    {
      "type": "textarea",
      "id": "description",
      "label": "Description",
      "info": "Maximum 480 characters",
      "default": "Add items to your wishlist for a chance to win them during Prime Day."
    },
    {
      "type": "header",
      "content": "How It Works"
    },
    {
      "type": "text",
      "id": "step_1",
      "label": "Step 1 label",
      "info": "Maximum 60 characters",
      "default": "Add to Wishlist"
    },
    {
      "type": "text",
      "id": "step_2",
      "label": "Step 2 label",
      "info": "Maximum 60 characters",
      "default": "Get Entered Automatically"
    },
    {
      "type": "text",
      "id": "step_3",
      "label": "Step 3 label",
      "info": "Maximum 60 characters",
      "default": "Receive Your Prize"
    },
    {
      "type": "text",
      "id": "coupon_hint",
      "label": "10% coupon hint text",
      "info": "Maximum 120 characters",
      "default": "All participants receive a 10% coupon code via email."
    },
    {
      "type": "header",
      "content": "Creators Section"
    },
    {
      "type": "text",
      "id": "creators_heading",
      "label": "Picked by Top Creators heading",
      "info": "Maximum 80 characters",
      "default": "Picked by Top Creators"
    },
    {
      "type": "header",
      "content": "Email Form"
    },
    {
      "type": "text",
      "id": "success_message",
      "label": "Success message",
      "info": "Maximum 120 characters",
      "default": "Submitted! Check your inbox for details."
    },
    {
      "type": "text",
      "id": "klaviyo_company_id",
      "label": "Klaviyo Company ID",
      "info": "Maximum 32 characters. Your Klaviyo Public API Key."
    },
    {
      "type": "text",
      "id": "klaviyo_list_id",
      "label": "Klaviyo List ID",
      "info": "Exactly 6 characters."
    },
    {
      "type": "header",
      "content": "View More / View Less"
    },
    {
      "type": "text",
      "id": "view_more_label",
      "label": "View More label",
      "info": "Maximum 30 characters",
      "default": "View More"
    },
    {
      "type": "text",
      "id": "view_less_label",
      "label": "View Less label",
      "info": "Maximum 30 characters",
      "default": "View Less"
    },
    {
      "type": "header",
      "content": "Past Winners"
    },
    {
      "type": "text",
      "id": "past_winners_heading",
      "label": "Past Winners heading",
      "info": "Maximum 80 characters",
      "default": "Past Winners"
    },
    {
      "type": "text",
      "id": "empty_state_message",
      "label": "Empty state message",
      "info": "Maximum 200 characters. Shown when no valid past winners exist.",
      "default": "No past winners to display yet."
    },
    {
      "type": "header",
      "content": "Wishlist Plus (Swym) Integration"
    },
    {
      "type": "checkbox",
      "id": "swym_enabled",
      "label": "Enable Swym Wishlist Plus integration",
      "info": "When enabled, heart buttons write to Swym instead of in-memory state.",
      "default": true
    },
    {
      "type": "text",
      "id": "swym_list_name",
      "label": "Swym list name",
      "info": "Name of the Swym list this campaign writes to. Same name = same list (idempotent).",
      "default": "Prime Perks 2026 Wishlist"
    },
    {
      "type": "text",
      "id": "swym_activity_tag",
      "label": "Swym activity tag (cprops)",
      "info": "Stored as cprops.activity for every item added — useful for Klaviyo flows.",
      "default": "prime_perks_2026"
    }
  ],
  "blocks": [
    {
      "type": "wishlist_category",
      "name": "Wishlist Category",
      "settings": [
        {
          "type": "text",
          "id": "label",
          "label": "Category label",
          "info": "1–50 characters"
        },
        {
          "type": "select",
          "id": "icon_name",
          "label": "Category icon",
          "options": [
            {
              "value": "",
              "label": "None"
            },
            {
              "value": "wind",
              "label": "Wind (Hair Dryer)"
            },
            {
              "value": "sparkles",
              "label": "Sparkles (Toothbrush)"
            },
            {
              "value": "zap",
              "label": "Zap (Shaver)"
            }
          ],
          "default": ""
        }
      ]
    },
    {
      "type": "wishlist_product",
      "name": "Wishlist Product",
      "settings": [
        {
          "type": "number",
          "id": "category_index",
          "label": "Category index",
          "info": "1-based index matching the category tab this product belongs to.",
          "default": 1
        },
        {
          "type": "text",
          "id": "item_id",
          "label": "Item ID",
          "info": "Unique identifier for heart toggle (1–40 characters)"
        },
        {
          "type": "product",
          "id": "product",
          "label": "Linked Shopify product",
          "info": "Required for Wishlist Plus integration. Heart button writes to this product's wishlist."
        },
        {
          "type": "image_picker",
          "id": "image",
          "label": "Product image"
        },
        {
          "type": "text",
          "id": "image_url",
          "label": "Product image URL (external)",
          "info": "Optional external CDN URL. Takes precedence over Product image when set."
        },
        {
          "type": "text",
          "id": "image_alt",
          "label": "Image alt text",
          "info": "1–250 characters"
        },
        {
          "type": "text",
          "id": "tag",
          "label": "Tag badge text",
          "info": "0–30 characters"
        },
        {
          "type": "text",
          "id": "name",
          "label": "Product name",
          "info": "1–100 characters"
        },
        {
          "type": "range",
          "id": "rating",
          "label": "Star rating",
          "min": 0,
          "max": 50,
          "step": 1,
          "default": 45,
          "info": "Divide by 10 for display (e.g. 45 = 4.5 stars)"
        },
        {
          "type": "number",
          "id": "review_count",
          "label": "Review count",
          "info": "0–999999",
          "default": 0
        },
        {
          "type": "text",
          "id": "feature_1",
          "label": "Feature bullet 1",
          "info": "1–120 characters"
        },
        {
          "type": "text",
          "id": "feature_2",
          "label": "Feature bullet 2",
          "info": "1–120 characters"
        },
        {
          "type": "text",
          "id": "feature_3",
          "label": "Feature bullet 3",
          "info": "1–120 characters"
        },
        {
          "type": "text",
          "id": "feature_4",
          "label": "Feature bullet 4",
          "info": "1–120 characters"
        },
        {
          "type": "text",
          "id": "price",
          "label": "Price",
          "info": "1–20 characters"
        },
        {
          "type": "text",
          "id": "original_price",
          "label": "Original price (strikethrough)",
          "info": "0–20 characters. Leave empty to hide."
        },
        {
          "type": "url",
          "id": "target_url",
          "label": "Product URL"
        }
      ]
    },
    {
      "type": "wishlist_creator",
      "name": "Wishlist Creator",
      "settings": [
        {
          "type": "text",
          "id": "youtube_url",
          "label": "YouTube embed URL or video ID",
          "info": "Up to 200 characters. Full URL or video ID."
        },
        {
          "type": "text",
          "id": "name",
          "label": "Creator name",
          "info": "1–80 characters"
        },
        {
          "type": "header",
          "content": "Tags (up to 5)"
        },
        {
          "type": "text",
          "id": "tag_1_label",
          "label": "Tag 1 label",
          "info": "1–40 characters"
        },
        {
          "type": "color",
          "id": "tag_1_color",
          "label": "Tag 1 color",
          "default": "#666666"
        },
        {
          "type": "text",
          "id": "tag_2_label",
          "label": "Tag 2 label",
          "info": "1–40 characters"
        },
        {
          "type": "color",
          "id": "tag_2_color",
          "label": "Tag 2 color",
          "default": "#666666"
        },
        {
          "type": "text",
          "id": "tag_3_label",
          "label": "Tag 3 label",
          "info": "1–40 characters"
        },
        {
          "type": "color",
          "id": "tag_3_color",
          "label": "Tag 3 color",
          "default": "#666666"
        },
        {
          "type": "text",
          "id": "tag_4_label",
          "label": "Tag 4 label",
          "info": "1–40 characters"
        },
        {
          "type": "color",
          "id": "tag_4_color",
          "label": "Tag 4 color",
          "default": "#666666"
        },
        {
          "type": "text",
          "id": "tag_5_label",
          "label": "Tag 5 label",
          "info": "1–40 characters"
        },
        {
          "type": "color",
          "id": "tag_5_color",
          "label": "Tag 5 color",
          "default": "#666666"
        },
        {
          "type": "textarea",
          "id": "quote",
          "label": "Quote text",
          "info": "0–480 characters"
        },
        {
          "type": "header",
          "content": "Creator Picks (up to 8)"
        },
        {
          "type": "image_picker",
          "id": "pick_1_image",
          "label": "Pick 1 image"
        },
        {
          "type": "text",
          "id": "pick_1_image_url",
          "label": "Pick 1 image URL (external)"
        },
        {
          "type": "product",
          "id": "pick_1_product",
          "label": "Pick 1 linked product",
          "info": "Required for Wishlist Plus integration."
        },
        {
          "type": "text",
          "id": "pick_1_name",
          "label": "Pick 1 name",
          "info": "1–100 characters"
        },
        {
          "type": "text",
          "id": "pick_1_price",
          "label": "Pick 1 price",
          "info": "1–20 characters"
        },
        {
          "type": "url",
          "id": "pick_1_url",
          "label": "Pick 1 URL"
        },
        {
          "type": "text",
          "id": "pick_1_tag",
          "label": "Pick 1 tag",
          "info": "0–30 characters"
        },
        {
          "type": "text",
          "id": "pick_1_item_id",
          "label": "Pick 1 item ID",
          "info": "Unique ID for heart toggle"
        },
        {
          "type": "image_picker",
          "id": "pick_2_image",
          "label": "Pick 2 image"
        },
        {
          "type": "text",
          "id": "pick_2_image_url",
          "label": "Pick 2 image URL (external)"
        },
        {
          "type": "product",
          "id": "pick_2_product",
          "label": "Pick 2 linked product"
        },
        {
          "type": "text",
          "id": "pick_2_name",
          "label": "Pick 2 name",
          "info": "1–100 characters"
        },
        {
          "type": "text",
          "id": "pick_2_price",
          "label": "Pick 2 price",
          "info": "1–20 characters"
        },
        {
          "type": "url",
          "id": "pick_2_url",
          "label": "Pick 2 URL"
        },
        {
          "type": "text",
          "id": "pick_2_tag",
          "label": "Pick 2 tag",
          "info": "0–30 characters"
        },
        {
          "type": "text",
          "id": "pick_2_item_id",
          "label": "Pick 2 item ID",
          "info": "Unique ID for heart toggle"
        },
        {
          "type": "image_picker",
          "id": "pick_3_image",
          "label": "Pick 3 image"
        },
        {
          "type": "text",
          "id": "pick_3_image_url",
          "label": "Pick 3 image URL (external)"
        },
        {
          "type": "product",
          "id": "pick_3_product",
          "label": "Pick 3 linked product"
        },
        {
          "type": "text",
          "id": "pick_3_name",
          "label": "Pick 3 name",
          "info": "1–100 characters"
        },
        {
          "type": "text",
          "id": "pick_3_price",
          "label": "Pick 3 price",
          "info": "1–20 characters"
        },
        {
          "type": "url",
          "id": "pick_3_url",
          "label": "Pick 3 URL"
        },
        {
          "type": "text",
          "id": "pick_3_tag",
          "label": "Pick 3 tag",
          "info": "0–30 characters"
        },
        {
          "type": "text",
          "id": "pick_3_item_id",
          "label": "Pick 3 item ID",
          "info": "Unique ID for heart toggle"
        },
        {
          "type": "image_picker",
          "id": "pick_4_image",
          "label": "Pick 4 image"
        },
        {
          "type": "text",
          "id": "pick_4_image_url",
          "label": "Pick 4 image URL (external)"
        },
        {
          "type": "product",
          "id": "pick_4_product",
          "label": "Pick 4 linked product"
        },
        {
          "type": "text",
          "id": "pick_4_name",
          "label": "Pick 4 name",
          "info": "1–100 characters"
        },
        {
          "type": "text",
          "id": "pick_4_price",
          "label": "Pick 4 price",
          "info": "1–20 characters"
        },
        {
          "type": "url",
          "id": "pick_4_url",
          "label": "Pick 4 URL"
        },
        {
          "type": "text",
          "id": "pick_4_tag",
          "label": "Pick 4 tag",
          "info": "0–30 characters"
        },
        {
          "type": "text",
          "id": "pick_4_item_id",
          "label": "Pick 4 item ID",
          "info": "Unique ID for heart toggle"
        },
        {
          "type": "image_picker",
          "id": "pick_5_image",
          "label": "Pick 5 image"
        },
        {
          "type": "text",
          "id": "pick_5_image_url",
          "label": "Pick 5 image URL (external)"
        },
        {
          "type": "product",
          "id": "pick_5_product",
          "label": "Pick 5 linked product"
        },
        {
          "type": "text",
          "id": "pick_5_name",
          "label": "Pick 5 name",
          "info": "1–100 characters"
        },
        {
          "type": "text",
          "id": "pick_5_price",
          "label": "Pick 5 price",
          "info": "1–20 characters"
        },
        {
          "type": "url",
          "id": "pick_5_url",
          "label": "Pick 5 URL"
        },
        {
          "type": "text",
          "id": "pick_5_tag",
          "label": "Pick 5 tag",
          "info": "0–30 characters"
        },
        {
          "type": "text",
          "id": "pick_5_item_id",
          "label": "Pick 5 item ID",
          "info": "Unique ID for heart toggle"
        },
        {
          "type": "image_picker",
          "id": "pick_6_image",
          "label": "Pick 6 image"
        },
        {
          "type": "text",
          "id": "pick_6_image_url",
          "label": "Pick 6 image URL (external)"
        },
        {
          "type": "product",
          "id": "pick_6_product",
          "label": "Pick 6 linked product"
        },
        {
          "type": "text",
          "id": "pick_6_name",
          "label": "Pick 6 name",
          "info": "1–100 characters"
        },
        {
          "type": "text",
          "id": "pick_6_price",
          "label": "Pick 6 price",
          "info": "1–20 characters"
        },
        {
          "type": "url",
          "id": "pick_6_url",
          "label": "Pick 6 URL"
        },
        {
          "type": "text",
          "id": "pick_6_tag",
          "label": "Pick 6 tag",
          "info": "0–30 characters"
        },
        {
          "type": "text",
          "id": "pick_6_item_id",
          "label": "Pick 6 item ID",
          "info": "Unique ID for heart toggle"
        },
        {
          "type": "image_picker",
          "id": "pick_7_image",
          "label": "Pick 7 image"
        },
        {
          "type": "text",
          "id": "pick_7_image_url",
          "label": "Pick 7 image URL (external)"
        },
        {
          "type": "product",
          "id": "pick_7_product",
          "label": "Pick 7 linked product"
        },
        {
          "type": "text",
          "id": "pick_7_name",
          "label": "Pick 7 name",
          "info": "1–100 characters"
        },
        {
          "type": "text",
          "id": "pick_7_price",
          "label": "Pick 7 price",
          "info": "1–20 characters"
        },
        {
          "type": "url",
          "id": "pick_7_url",
          "label": "Pick 7 URL"
        },
        {
          "type": "text",
          "id": "pick_7_tag",
          "label": "Pick 7 tag",
          "info": "0–30 characters"
        },
        {
          "type": "text",
          "id": "pick_7_item_id",
          "label": "Pick 7 item ID",
          "info": "Unique ID for heart toggle"
        },
        {
          "type": "image_picker",
          "id": "pick_8_image",
          "label": "Pick 8 image"
        },
        {
          "type": "text",
          "id": "pick_8_image_url",
          "label": "Pick 8 image URL (external)"
        },
        {
          "type": "product",
          "id": "pick_8_product",
          "label": "Pick 8 linked product"
        },
        {
          "type": "text",
          "id": "pick_8_name",
          "label": "Pick 8 name",
          "info": "1–100 characters"
        },
        {
          "type": "text",
          "id": "pick_8_price",
          "label": "Pick 8 price",
          "info": "1–20 characters"
        },
        {
          "type": "url",
          "id": "pick_8_url",
          "label": "Pick 8 URL"
        },
        {
          "type": "text",
          "id": "pick_8_tag",
          "label": "Pick 8 tag",
          "info": "0–30 characters"
        },
        {
          "type": "text",
          "id": "pick_8_item_id",
          "label": "Pick 8 item ID",
          "info": "Unique ID for heart toggle"
        }
      ]
    },
    {
      "type": "wishlist_past_winner",
      "name": "Past Winner",
      "settings": [
        {
          "type": "image_picker",
          "id": "avatar",
          "label": "Avatar image (optional)"
        },
        {
          "type": "text",
          "id": "display_name",
          "label": "Display name",
          "info": "Required. 1–60 characters."
        },
        {
          "type": "text",
          "id": "prize",
          "label": "Prize description",
          "info": "Required. 1–120 characters."
        },
        {
          "type": "text",
          "id": "date_label",
          "label": "Date label",
          "info": "Required. 1–30 characters."
        }
      ]
    }
  ],
  "presets": [
    {
      "name": "Campaign Wishlist",
      "blocks": [
        {
          "type": "wishlist_category",
          "settings": {
            "label": "Hair Dryer"
          }
        },
        {
          "type": "wishlist_category",
          "settings": {
            "label": "Toothbrush"
          }
        },
        {
          "type": "wishlist_category",
          "settings": {
            "label": "Shaver"
          }
        }
      ]
    }
  ]
}