Saltar al contenido
Ejemplos de Scripts

Migrating a buy one get one free script

Shopify shipped this as a starter template, so it is everywhere. The line that matters divides the quantity by the paid units PLUS the free one, which is what makes a nine-unit cart earn two free instead of three.

Reconstruido
Qué hacía el Script

It split the free units off each complete set and repriced them to zero.

Pruébalo en tu propia tienda

Pégalo en Rescate de scripts y mira qué reconstruye

  1. Copia el Ruby con el botón que hay junto a cualquier Script de esta página.
  2. En tu panel de Shopify, abre Stackable, luego Herramientas y luego Rescate de scripts.
  3. Pégalo ahí, lee lo que la herramienta dice que va a crear y compáralo con los ajustes de esta página.

Rescate de scripts está en el plan Pro. No se publica nada hasta que le digas cuánto descontaba tu Script antiguo y las dos cifras coincidan al céntimo.

El Script

Reconstruido

Par peligroso D3. Este archivo y su pareja parecen casi idénticos y se comportan de forma distinta, así que lee los dos antes de decidir cuál tienes.

El Ruby original

BUY = 3
GET = 1

Input.cart.line_items.each do |line_item|
  sets = line_item.quantity / (BUY + GET)
  free_count = sets * GET
  next if free_count == 0
  discounted = line_item.split(take: free_count)
  discounted.change_line_price(Money.zero, message: "Buy 3 get 1 free")
  Input.cart.line_items << discounted
end

Output.cart = Input.cart
En qué se convierte

Reconocido como Buy X, get Y y reconstruido como una oferta de tipo bxgy. Estas son las claves de configuración reales con las que se guarda la oferta, así que puedes comparar tu propia reconstrucción campo por campo.

Cada ajuste, detallado
AjusteValorClave de configuración
Offer typebxgytype
Countingper_groupcounting
Recurrencerepeatrecurrence
Tier 1min qty 3 -> free itemtiers[0]
Buy quantity3bxgy.buyQty
Get quantity1bxgy.getQty
Get selectionsame_itembxgy.getSelection
Reward on the get units100% offbxgy.getDiscountPct
Free units are additionaltruebxgy.freeUnitsAreAdditional
Target scopealltarget.scope
MethodautomaticdiscountMethod
Allocationstandardstacking.allocation
Combines with other discountsnostacking
Se te pedirá que confirmes
  • Confirm which products this applies to. We could not read product targeting from the script.
El carrito que lo demuestra

Creado en nuestra tienda de demostración pública, Meridian Goods, para que cada precio de aquí se pueda reproducir en lugar de darlo por bueno. El descuento de abajo es lo que calcula para este carrito exacto el mismo motor que se ejecuta en el pago.

El carrito que activa esta oferta, y lo que cuesta
ArtículoCant.Precio unit.
Braided USB-C Cable4$14.00
Subtotal$56.00
Descuento-$14.00
Total$42.00

Sin sesión iniciada, o con sesión de un cliente sin etiquetas.

La cifra con la que la herramienta te compara

Antes de publicar, la herramienta pregunta qué hacía tu Script antiguo con un carrito que ya tienes. Ponlo en 4 de Braided USB-C Cable a $14.00 y la respuesta queda fijada.

El descuento es $14.00. El total que pagó el comprador es $42.00.

La comparación es exacta, hasta la unidad más pequeña de tu moneda. Un céntimo de diferencia y la publicación sigue bloqueada, que es todo el sentido de este paso.

El carrito que no debe producir nada
  • drop to 1 of the same product, under what the rule needs
El carrito que no debe activar esta oferta
ArtículoCant.Precio unit.
Braided USB-C Cable1$14.00
Subtotal$14.00
Total$14.00

Sin sesión iniciada, o con sesión de un cliente sin etiquetas.

Dos archivos que parecen iguales

Cada pareja de abajo es una misma forma de Script escrita de dos maneras. Se diferencian en una o dos líneas y hacen cosas distintas, así que lee las dos antes de decidir cuál tienes.

Pareja peligrosa D3

Bogo same item free (D3)

Reconstruido

Se reconstruye como una oferta bxgy.

Descuento en su propio carrito: $14.00

Líneas que cambian
  sets = line_item.quantity / (BUY + GET)
Leer Buy one get one free

Bogo inclusive basis (D3)

Reconstruido

Se reconstruye como una oferta bxgy.

Descuento en su propio carrito: $14.00

Líneas que cambian
  sets = line_item.quantity / BUY
Leer Buy X get Y, inclusive

Preguntas frecuentes

Will Stackable rebuild this script?
Yes. Every spelling on this page is rebuilt today as a bxgy offer, and the cart above is the one that proves it.
What cart proves it works?
4 x Braided USB-C Cable at $14.00. The engine takes $14.00 off, and checkout charges $42.00.
What will I have to check before publishing?
Confirm which products this applies to. We could not read product targeting from the script.

Formas de Script relacionadas

Buy X get Y, inclusive

The same buy-and-get offer, counted so the reward sits inside each set rather than beside it.

Limit the discounted units

The discount applied to the first few units only, with the rest at full price.

Percentage off the cheapest item

The least expensive thing in the cart discounted, once.

Pega tu Script y mira cómo se reconstruye

La reconstrucción se compara con el dinero que cobraba tu Script antiguo antes de que puedas publicarla.

Usamos cookies esenciales para el funcionamiento de este sitio y, solo con tu permiso, cookies analíticas para entender el tráfico. Lee nuestra Política de cookies.