بازاریابی ایمیل مدرن خواستار شخصی سازی و محتوای پویا برای مشارکت واقعی مشترکان است، با این حال ساخت این قالب ها اغلب منجر به کد درهم تنیده می شود که در آن منطق ارائه و جزئیات ساخت و ساز به شدت همراه هستند. الگوی سازنده یک راه حل تمیز را با جدا کردن یک ایمیل از نمایندگی نهایی آن ارائه می دهد.این الگوی طراحی به شما اجازه می دهد تا پیچیده، داده های مبتنی بر داده ها یا بدون انعطاف پذیری، یا ارسال یک نسخه تبلیغاتی، یا یک دریافت یک رسید استقبال از فروش خوش آمدید.

درک الگوی سازنده

الگوی سازنده یک الگوی طراحی آفرینش از است که ساخت یک شیء پیچیده را از نمایندگی بتن آن جدا می کند، به جای اینکه یک شیء را با یک سازنده غول پیکر که ده ها پارامتر را می پذیرد، شما یک رابط سازنده را با روش های گام به گام تعریف می کنید.

در زمینه قالب ایمیل، محصول " آخرین HTML یا JSON نمایندگی از یک ایمیل است. سازنده اجزایی مانند headers، بلوک های بدن، پا و صاحبان مکان پویا را جمع آوری می کند، زیرا منطق ساخت و ساز جدا شده است، شما می توانید انواع ایمیل جدید را بدون تغییر کد موجود معرفی کنید. این نظم سیستم را ماژولارتر و آسان تر می کند تا تست شود.

اجزای اصلی یک ایمیل پویا

قبل از استفاده از الگوی سازنده، به درک بلوک های ساختمانی که اکثر ایمیل های بازاریابی به اشتراک می گذارند کمک می کند:

  • [FLT 1: 1] - Logo، نام شرکت، تصویر هدر اختیاری و متن پیش فرض.
  • بخش های Body - بنرهای قهرمان، بلوک های متنی، شبکه های محصول، توصیفات، تایمر شمارش معکوس یا ماژول های محتوای سفارشی.
  • (فَلَّهُمَهُمَهُمَهُوا مَنَّا بِنَهُمَهُمَهُمَهُمَهُمَهُوا مَنَّا مَنَّا مَهُمْهُمَا مَهُمَهُمَهُمَهُمَهُوا مَهُمَهُمَهُوا مَهُمْهُمْهُمْهُمْهُوا مَهُمْهُمَهُوا مَهُمْهُمْهُمْهُوا مَهُمْهُمْهُمَهُوا مَهُمَهُمَا مَا مَهُمَهُمَهُمْهُوا مَهُمَهُمَهُمَهُمَا مَهُمَهُوَهُمَهُوَا مَهُوَا مَهُم
  • ] - لینک غیر فرعی، آدرس فیزیکی، آیکون های رسانه های اجتماعی و سیاست حفظ حریم خصوصی.
  • [[۱] [۱۰] [۱] [۱۰] [۱۰] [۱] [۱۰]] [۱۰] [۱۰] [۱] [۱۰] [۱]] [۱۰] [۱] [۱۰] [۱]] [۱۰] [۱۰] [۱۰] [۱]] [۱۰] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱۰] [۱] [۳] [۲] [۲] [۲] [۳] [۳] [۲] [۲] [۲] [۵] [۵]] [۵]] [۵] [۵] [۵]]]] [۵] [۵]]]] [۵] [۵] [۳] [۱۰] [۵] [۵] [۵] [۵] [۱۰] [۵] [۱۰] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۵]

هر جزء ممکن است با نوع کمپین متفاوت باشد.یک ایمیل تبلیغاتی ممکن است شامل بلوک های محصول متعدد و تایمر شمارش معکوس باشد؛ یک ایمیل تنظیم شده رمز عبور کم رنگ و تراکنش است. الگوی سازنده این تنوع را به خوبی مدیریت می کند.

استفاده از الگوی سازنده به قالب ایمیل

مرحله 1: رابط سازنده را تعریف کنید

رابط روش های هر جزء را که ممکن است شامل آن باشید، اعلام می کند.در اینجا یک رابط در کد شبه کد TypeScript است:

interface EmailBuilder {
 setHeader(logo: string, company: string): this;
 addHeroBanner(imageUrl: string, alt: string): this;
 addTextBlock(heading: string, body: string): this;
 addProductGrid(products: Product[]): this;
 addCtaButton(text: string, url: string): this;
 setFooter(unsubscribe: string, address: string): this;
 addDynamicPlaceholder(key: string, defaultValue: string): this;
 build(): EmailTemplate;
}

توجه داشته باشید که هر روش (FLT:4) بازمی گردد، این روش زنجیره ای را پشتیبانی می کند و کد مشتری را مختصر می کند.

مرحله دوم: ساخت سازندگان بتنی

هر سازنده بتنی رابط کاربری را پیاده سازی می کند و یک نوع ایمیل خاص را ایجاد می کند:

  • PromotionalBuilder [FLT 1] - شبکه های محصول، پیشنهادات زمان محدود، شمارش زمان.
  • ترانسالدر [FLT 1] - تولید حداقل قالب با جزئیات سفارش، هشدار وضعیت و هیچ حواس پرتی بازاریابی.
  • NewsletterBuilder [FLT 1] - طرح های چند بخش برای محتوای سرمقاله ایجاد می کند.

سازندگان بتن اجزای مونتاژ شده را در یک شی محصول داخلی ذخیره می کنند، آنها همچنین ممکن است مقادیر پیش فرض یا دستورالعمل های برند را اعمال کنند.

مرحله 3: پیاده سازی مدیر

مدیر، توالی ساخت و ساز را می داند، اما جزئیات هر بخش را نمی شناسد.یک سازنده را می گیرد و روش های مناسب را به منظور:

class EmailDirector {
 constructPromotional(builder: EmailBuilder): EmailTemplate {
 return builder
 .setHeader('https://cdn.example.com/logo.png', 'MyBrand')
 .addHeroBanner('banner.jpg', 'Spring Sale')
 .addTextBlock('Hurry!', 'Offer expires in 24 hours.')
 .addProductGrid(fetchFeaturedProducts())
 .addCtaButton('Shop Now', 'https://shop.example.com')
 .setFooter('unsub link', '123 Main St')
 .addDynamicPlaceholder('first_name', 'valued customer')
 .build();
 }

 constructTransactional(builder: EmailBuilder): EmailTemplate {
 return builder
 .setHeader('logo.png', 'MyBrand')
 .addTextBlock('Order Confirmation', 'Your order #{{order_id}} has been placed.')
 .setFooter('unsub link', '123 Main St')
 .addDynamicPlaceholder('order_id', 'N/A')
 .build();
 }
}

مدیر الگوریتم ساخت و ساز را جدا می کند، هنگامی که یک نوع ایمیل جدید مورد نیاز است، شما یک روش را به مدیر اضافه می کنید و احتمالا یک سازنده جدید بتنی – هیچ تغییر کد دیگری.

مرحله 4: ساخت قالب نهایی

کد مشتری، روش سازنده و مدیر مورد نظر را انتخاب می کند:

const builder = new PromotionalBuilder();
const director = new EmailDirector();
const template = director.constructPromotional(builder);
// template.render(userData) or template.toHtml()

جسم حاصل از [FLT-7] می تواند یک ساختار داده ساده باشد که مجموعه ای از بخش ها را در خود جای می دهد، یا می تواند به طور مستقیم HTML تولید کند. سازنده "چگونه" مونتاژ از "چه چیزی" محتوا را جدا می کند.

سناریوی واقعی جهانی: ایمیل کارت را رها کرد

بیایید از طریق یک پرونده تجارت الکترونیک دقیق راه برویم، یک ایمیل سبد خرید رها شده باید شامل:

  • نام مشتری و یک احساس فوریت
  • یک لیست پویا از محصولات باقی مانده است.
  • یک کد تخفیف شخصی برای تشویق تبدیل
  • یک CTA شفاف برای بازگشت به پرداخت

ما یک کارت RecoveryBuilder ایجاد می کنیم که پیاده سازی می کند حالت داخلی آن ممکن است اقلام سبد و کوپن تولید شده را ردیابی کند.

constructAbandonedCart(builder: EmailBuilder, cart: Cart): EmailTemplate {
 return builder
 .setHeader('logo.png', 'ShopNow')
 .addTextBlock('Did you forget something?', `Hi ${cart.customerName}, your cart is waiting.`)
 .addProductGrid(cart.items)
 .addTextBlock('Complete your order within 24 hours and save 10%!',
 `Use code: ${generateDiscountCode()}`)
 .addCtaButton('Complete Purchase', checkoutUrl(cart.id))
 .setFooter('unsubscribe', '123 St')
 .addDynamicPlaceholder('discount_code', 'SAVE10')
 .build();
}

از آنجا که سازنده فقط در زمان ساخت و ساز داده های سبد را دریافت می کند، منطق قالب تمیز باقی می ماند و از آنجا که سازنده بتن کنترل می کند که چگونه هر جزء رندر می کند، تغییر سبک بصری (به عنوان مثال، از طرح مبتنی بر جدول تا یک طراحی مدرن مبتنی بر بلوک) نیاز به تغییرات فقط در سازنده دارد - مدیر باقی می ماند دست نخورده است.

مزایای پیشرفته: جدایی از نگرانی ها و قابلیت های آزمون

جدایی نگرانی ها

در این میان، یک بار از هر طبقه، به عنوان یک بار، به عنوان یک بار، به عنوان یک بار، به عنوان یک بار، به عنوان یک بار، به عنوان یک گروه از کاربران، به عنوان یک گروه از منابع مالی، به طور کامل به کار می رود.

آزمون پذیری

هر روش سازنده می تواند به طور مستقل تست واحد باشد، شما می توانید تأیید کنید که اضافه کردن یک شبکه محصول، قطعه HTML مورد انتظار را تولید می کند، یا اینکه یک سهامدار پویا به درستی تزریق می شود.

قابلیت Reusability

قطعات در سراسر سازندگان قابل استفاده مجدد هستند. روش ساخت و ساز مشابه پا می تواند به تبلیغات، معاملات و سازندگان خبرنامه تشکیل شود. دستورالعمل های برند (رنگ ها، فونت ها، لینک های قانونی مورد نیاز) در توابع مشترک سازنده متمرکز هستند.

ادغام با پلتفرم اتوماسیون بازاریابی

سیستم های اتوماسیون بازاریابی مانند Directus - یک CMS بی سر و صدا و چارچوب مدیریت محتوا - ارائه یک محیط عالی برای پیاده سازی این الگو. Directus’s API-first معماری اجازه می دهد تا شما را به ذخیره سازی تنظیمات قالب، بلوک های محتوا، و داده های کاربر به عنوان مجموعه های ساختاری.

به عنوان مثال، شما ممکن است تصاویر هدر در دسترس، لینک های پا و قطعه های محتوا در مجموعه Directus ذخیره کنید. A Campaign جمع آوری می تواند یک نوع سازنده (promotional، تراکنش) را ارجاع دهد و اجزای خاصی را نادیده بگیرد.کد backend این سوابق را بخواند، بلافاصله سازنده بتن مناسب را فوری می کند و مدیر را برای تولید محتوای نهایی در حالی که از مدیریت محتوا جدا می کند.

منابع خارجی که این رویکرد را تکمیل می کنند عبارتند از راهنمای مجله برای قالب های ایمیل پویا و ] بهترین شیوه های ایمیل ایمیل ایمیل ایمیل ایمیل های تراکنشی .

نتیجه گیری

الگوی سازنده یک ابزار قدرتمند برای ایجاد قالب های ایمیل پویا در اتوماسیون بازاریابی است.با جدا کردن ساخت و ساز از نمایندگی، انعطاف پذیری تیم ها را برای معرفی انواع کمپین های جدید بدون کد میراث بازسازی می کند. سازندگان بتنی جزئیات را جدا می کنند، مدیران الگوریتم های ساخت و ساز روشن را ارائه می دهند و کد نتیجه قابل آزمایش، قابل نگهداری و مقیاس پذیر است.این که آیا شما یک پلت فرم یا گسترش یک سیستم عامل مستقیم، به شما کمک می کند و یا پردازش پیام رسانی مستقیم تر است.