Czego się dowiesz?

Dowiedz się, jak używać znacznika {% barcode %} do generowania kodów kreskowych Code 128 w wiadomościach e-mail, MMS, RCS i WhatsApp. Wartość kodu kreskowego może być ciągiem statycznym, właściwością profilu, zmienną zdarzenia lub kodem kuponu Klaviyo.

Szybkie informacje

Kanał

Tryb

Gdzie dodać znacznik

Adres e-mail

html lub url

Pole adresu URL bloku tekstowego, bloku HTML lub bloku obrazu

MMS

url (Domyślne)

Sekcja Obraz dynamiczny

RCS

rcs

Sekcja Obraz dynamiczny

WhatsApp

url (Domyślne)

Sekcja Obraz dynamiczny

Kilka słów na początek

Znacznik {% barcode %} działa, generując adres URL. Gdy ten adres URL zostanie wczytany (w podglądzie, w skrzynce odbiorczej lub na urządzeniu mobilnym), renderuje obraz PNG kodu kreskowego. Oznacza to, że obraz kodu kreskowego nie jest tworzony, dopóki adres URL nie zostanie faktycznie pobrany.

Znacznik {% barcode %} jest obsługiwany w:

  • Adres e-mail
  • MMS
  • RCS
  • WhatsApp

Jeśli obecnie używasz {% barcode_code %} z artykułu Pierwsze kroki z kodami kuponu, zalecanym zamiennikiem jest znacznik {% barcode %}. Obsługuje wszystkie kanały (nie tylko e-mail) i działa z dowolną wartością, a nie tylko z kodami kuponu Klaviyo. Znacznik {% barcode_code %} nadal działa w istniejących implementacjach, ale nowe kody kreskowe powinny używać {% barcode %}.

Podstawowe użycie

Najprostszy sposób użycia znacznika kodu kreskowego to:

text
{% barcode 'MyCode' %}

Powoduje to utworzenie adresu URL, który zwraca obraz PNG kodu kreskowego. Po zeskanowaniu kod kreskowy zawiera wartość MyCode.

Wartość kodu kreskowego jest wymagana. Znacznik musi zawsze zawierać wartość — albo statyczny ciąg znaków w cudzysłowie, albo zmienną. Znacznik bez wartości (lub zmienna, która zwraca pustą wartość) spowoduje utworzenie nieprawidłowego adresu URL.

Kod kreskowy możesz dostosować, przekazując argumenty do znacznika. Na przykład:

text
{% barcode 'MyCode' width=200 height=100 %}

W sekcji referencyjnej argumentów poniżej znajdziesz wszystkie dostępne opcje.

Używanie kodów kreskowych w różnych kanałach

Adres e-mail

W przypadku e-maili masz dwie opcje dotyczące sposobu renderowania kodu kreskowego:

Opcja 1: tryb HTML (zalecany w przypadku e-maili)

Ustaw mode=html, aby znacznik zwracał bezpośrednio element HTML <img>. To najprostsze podejście do dodania kodu kreskowego w e-mailu.

text
{% barcode 'MyCode' mode=html %}

Umieść ten znacznik w bloku tekstowym lub bloku HTML w edytorze szablonów e-maili.

Opcja 2: tryb URL

Pozostaw tryb nieustawiony (lub ustaw mode=url), aby uzyskać URL, a następnie wklej ten URL w polu URL obrazu w bloku obrazu. Daje to większą kontrolę nad stylizacją obrazu.

text
{% barcode 'MyCode' %}

Jeśli kod kreskowy nie pojawia się w bloku tekstu, sprawdź, czy do bloku zastosowano logikę pokaż/ukryj, która może go ukrywać.

MMS

W przypadku wiadomości MMS dodaj znacznik kodu kreskowego w sekcji Obraz dynamiczny edytora SMS/MMS, a nie w treści tekstu.

  1. Otwórz wiadomość MMS w edytorze.
  2. Kliknij ikonę Dodaj obraz w polu wiadomości.
  3. Przejdź do karty Obraz dynamiczny.
  4. Wklej znacznik kodu kreskowego, na przykład:
text
{% barcode person.LoyaltyId %}
  1. Kliknij Zapisz.

To przebiega według tego samego procesu co dodawanie dowolnego obrazu dynamicznego do MMS-a. Więcej informacji znajdziesz w artykule Jak dodać obraz dynamiczny do wiadomości tekstowej.

RCS

W przypadku wiadomości RCS użyj mode=rcs, aby sformatować kod kreskowy zgodnie z wymaganiami dotyczącymi obrazów RCS. Ten tryb automatycznie ustawia wymiary, które wyświetlają się poprawnie zarówno na Androidzie, jak i na iOS.

text
{% barcode 'MyCode' mode=rcs %}

Dodaj znacznik kodu kreskowego w sekcji Obraz dynamiczny w edytorze wiadomości RCS, tak samo jak w przypadku MMS.

Ustawienia domyślne RCS:

  • Szerokość: 600px
  • Wysokość: 300px
  • Z wypełnieniem do: 1440x720 px

Te ustawienia domyślne są zgodne z zaleceniami Klaviyo dotyczącymi formatowania obrazów RCS. W razie potrzeby można je zastąpić niestandardowymi wartościami width, height, padded_width i padded_height.

Jeśli niestandardowe wymiary kodu kreskowego przekraczają 1440 × 720 px, domyślne dopełnienie nie zostanie zastosowane, ponieważ obraz nie zmieści się na standardowym obszarze roboczym. W takim przypadku podaj własne wartości padded_width i padded_height.

WhatsApp

W przypadku wiadomości WhatsApp dodaj znacznik kodu kreskowego w sekcji Obraz dynamiczny w edytorze wiadomości — tak samo jak w przypadku MMS.

text
{% barcode person.MembershipId %}

WhatsApp nie wymaga żadnej specjalnej konfiguracji ani trybu. Domyślne mode=url działa poprawnie.

Dokumentacja argumentów znacznika kodu kreskowego

Argument

Wykorzystanie

Wartości

Domyślne

width

Ustawia szerokość kodu kreskowego

Liczba (rozmiar renderowania nie może przekraczać 4096 px; zobacz Skalowanie i zmiana rozmiaru)

100

height

Ustawia wysokość kodu kreskowego

Liczba (rozmiar renderowania nie może przekraczać 4096 px; zobacz Skalowanie i zmiana rozmiaru)

50

mode

Ustawia format danych wyjściowych

url, html lub rcs

url

coupon

Określa, że wartość jest kodem kuponu zarządzanym przez Klaviyo

True lub False

False

padded_width

Szerokość obszaru dopełnienia obrazu w pikselach. Musi zostać podane z padded_height. Bez skalowania.

Liczba mniejsza niż 4096

Brak (1440 dla mode=rcs)

padded_height

Wysokość obszaru obrazu z marginesem wewnętrznym w pikselach. Musi zostać podane z padded_width. Bez skalowania.

Liczba mniejsza niż 4096

Brak (720 dla mode=rcs)

Używanie kodów kreskowych z właściwościami profilu i danymi zdarzeń

Możesz użyć właściwości profilu lub zmiennych zdarzeń jako wartości kodu kreskowego, dzięki czemu każdy odbiorca otrzyma unikalny kod kreskowy.

Przykłady właściwości profilu:

text
{% barcode person.LoyaltyId %}
{% barcode person.email %}
{% barcode person.MembershipNumber %}

Przykłady zmiennych zdarzeń (dla sekwencji uruchamianych metryką):

text
{% barcode event.Code %}
{% barcode event.OrderId %}

Obsługa brakujących wartości:

Jeśli odbiorca nie ma ustawionej tej właściwości, adres URL kodu kreskowego będzie nieprawidłowy i obraz nie zostanie załadowany. Dostępne są dwie opcje:

Opcja 1: użyj filtra default , aby ustawić sensowną wartość zastępczą:

text
{% barcode person.BarcodeCode|default:'STORE-MEMBER' %}

Upewnij się, że domyślna wartość ma sens po zeskanowaniu. Ogólny symbol zastępczy, taki jak "fallback", spowodowałby utworzenie możliwego do zeskanowania, ale bezużytecznego kodu kreskowego.

Opcja 2: Użyj instrukcji warunkowej, aby całkowicie ukryć kod kreskowy, gdy brakuje wartości:

text
{% if person.BarcodeCode %}
  {% barcode person.BarcodeCode mode=html %}
{% endif %}

Zawsze obsługuj przypadek braku wartości, gdy wartość kodu kreskowego pochodzi z właściwości profilu lub zmiennej zdarzenia. Bez wartości domyślnej lub warunku odbiorcy, którzy nie mają tej właściwości, zobaczą uszkodzony obraz.

Połączony przykład dla e-maila:

text
{% barcode person.LoyaltyId width=200 height=75 mode=html %}

Używanie kodów kreskowych z kodami kuponu Klaviyo

Jeśli używasz kodów kuponu zarządzanych przez Klaviyo i chcesz renderować je jako kody kreskowe, ustaw coupon=True. To mówi systemowi, aby przypisał kod kuponu do odbiorcy i użył tego kodu jako wartości kodu kreskowego.

text
{% barcode 'ShopifyCoupon' coupon=True %}

To działa we wszystkich kanałach. Na przykład, aby wysłać kod kreskowy kuponu przez RCS:

text
{% barcode 'ShopifyCoupon' coupon=True mode=rcs %}

Ustaw coupon=True tylko wtedy, gdy używasz kodów kuponu zarządzanych przez Klaviyo. Jeśli zarządzasz własnymi kodami kuponu i zapisujesz je jako właściwości profilu, odwołuj się bezpośrednio do właściwości bez coupon=True:

text
{% barcode person.CouponCode %}

Skalowanie i zmiana rozmiaru

Domyślnie szerokość i wysokość kodu kreskowego są skalowane współczynnikiem 3x. Oznacza to:

  • width ze 100 renderuje się przy rzeczywistej szerokości 300 px
  • height z 50 renderów przy rzeczywistej wysokości 150px

Wyjątek: Gdy mode=rcs, współczynnik skalowania wynosi 1x. Umożliwia to bardziej precyzyjną kontrolę wymiarów kodu kreskowego, aby spełnić wymagania formatowania obrazu RCS.

Wartości dopełnienia nie są skalowane. Argumenty padded_width i padded_height zawsze reprezentują rzeczywiste wartości w pikselach. Ponieważ wewnętrzny kod kreskowy jest skalowany 3x, wartości dopełnienia muszą być większe niż 3 razy szerokość i wysokość. Na przykład:

text
{% barcode 'Code' width=200 height=100 padded_width=700 padded_height=400 %}

Tutaj kod kreskowy renderuje się w rozmiarze 600x300px (200×3, 100×3) w obrębie wypełnionego marginesami obszaru roboczego 700x400px.

Maksymalny rozmiar obrazu: usługa kodów kreskowych nie wygeneruje obrazów większych niż 4096x4096 pikseli. Ten limit dotyczy rozmiaru wynikowego po skalowaniu. W przypadku kodów kreskowych innych niż RCS (skalowanie 3x) oznacza to, że maksymalny argument width wynosi około 1365 (1365 × 3 = 4095px). W przypadku kodów kreskowych RCS (skalowanie 1x) maksymalna wartość to 4096.

Wskazówki dotyczące szerokości w przypadku długich numerów (do wysyłki SMS-ów):

  • W przypadku kodów kreskowych innych niż RCS: jeśli kod przekracza 15 znaków, zwiększ szerokość powyżej domyślnej wartości 100 (która renderuje się jako 300 px).
  • W przypadku kodów kreskowych RCS: jeśli kod przekracza 30 znaków, zwiększ szerokość powyżej domyślnej wartości 600 px.

Jeśli szerokość będzie zbyt mała, aby zakodować dane, obraz kodu kreskowego nie zostanie wygenerowany.

Rozwiązywanie problemów

Zawsze zrób podgląd przed wysłaniem

Ponieważ znacznik {% barcode %} tworzy adres URL w czasie renderowania, a obraz nie jest generowany, dopóki ten adres URL nie zostanie pobrany, awarie mogą nie być widoczne, dopóki nie wyświetlisz podglądu lub nie wyślesz wiadomości. Wykonaj te kroki, aby wcześnie wychwycić problemy:

  1. Wyświetl podgląd wiadomości. Jeśli kod kreskowy nie wczytuje się w podglądzie, nie wczyta się po wysłaniu.
  2. Zeskanuj kod kreskowy. Użyj narzędzia do skanowania kodów kreskowych (np. imagetotext.info/barcode-scanner), aby sprawdzić, czy kod kreskowy koduje oczekiwaną wartość.
  3. Wyślij do siebie wiadomość testową przed wysłaniem jej do odbiorców.

Typowe problemy

Obraz kodu kreskowego nie wczytuje się

Najczęstszą przyczyną jest pusta wartość kodu kreskowego. Dzieje się tak, gdy znacznik odwołuje się do właściwości profilu lub zmiennej zdarzenia, której odbiorca nie ma. Na przykład:

text
{% barcode person.BarcodeCode %}

Jeśli odbiorca nie ma wartości BarcodeCode, wygenerowany adres URL nie będzie zawierać kodu, a obraz nie zostanie wyrenderowany. Aby to naprawić, dodaj filtr default:

text
{% barcode person.BarcodeCode|default:'defaultCode' %}

Obraz kodu kreskowego nie generuje się, ale adres URL wygląda poprawnie

Szerokość kodu kreskowego jest prawdopodobnie zbyt mała, aby zakodować wszystkie dane w Twoim kodzie. Spróbuj zwiększyć wartość width. Ogólna zasada:

  • Kody dłuższe niż 15 znaków wymagają szerokości większej niż domyślne 100 (po wyrenderowaniu 300 px).
  • Kody RCS dłuższe niż 30 znaków wymagają szerokości większej niż domyślne 600px.

Kod kreskowy nie wyświetla się w bloku tekstowym (e-mail)

Sprawdź, czy do bloku tekstowego zastosowano logikę pokazywania/ukrywania. Jeśli warunek ukrywa blok, kod kreskowy nie zostanie wyrenderowany, nawet jeśli znacznik jest poprawny. Otwórz ustawienia bloku, aby to zweryfikować.

Dodatkowe źródła

Czy ten artykuł był pomocny?
Ten formularz służy tylko do przesyłania opinii na temat artykułów. Dowiedz się, jak skontaktować się z zespołem ds. pomocy.

Dowiedz się od Klaviyo więcej

Społeczność
Nawiązuj kontakty z osobami na podobnych stanowiskach, partnerami oraz ekspertami i ekspertkami Klaviyo – inspirujcie się nawzajem, wymieniajcie spostrzeżeniami i pomagajcie szukać odpowiedzi na nurtujące Was pytania.
Partnerzy
Zatrudnij certyfikowanego eksperta Klaviyo, który pomoże Ci w konkretnym zadaniu lub w ciągłym zarządzaniu marketingiem.
Pomoc

Uzyskaj wsparcie za pośrednictwem konta.

E-mail do zespołu ds. pomocy (konta w bezpłatnym okresie próbnym oraz konta płatne) Całodobowa dostępność

Czat/wirtualna pomoc
Dostępność różni się w–zależności od lokalizacji i typu planu.