ഫണലുകൾ & ട്രിഗറുകൾ
ഒരു ഫണൽ ഒരു ഗ്രാഫ് ആണ്. ഒരു റൺ ഒരു വരി ആണ്. ഒരു കാത്തിരിക്കൽ ഒരു സമയം ആണ്.
അതാണ് മുഴുവൻ മോഡൽ, ഈ ഉൽപ്പന്നത്തിന്റെ എല്ലാ പ്രയാസമുള്ള സവിശേഷതകളും ആ മൂന്ന് വാക്യങ്ങളിൽ നിന്നാണ് ഉടലെടുക്കുന്നത്. ഒരു സജീവ ഫണൽ എഡിറ്റ് ചെയ്യുന്നത് സുരക്ഷിതമാണ് അവ കൊണ്ട്. ഒരു റീട്രൈ ഇരട്ട അയയ്ക്കൽ നടത്താത്തത് അവ കൊണ്ടാണ്. ചൊവ്വാഴ്ച അൺസബ്സ്ക്രൈബ് ചെയ്ത ഒരാൾ വ്യാഴാഴ്ച ഒന്നും കേൾക്കാത്തത് അവ കൊണ്ടാണ്.
അത് പ്രവർത്തിക്കുമ്പോൾ യഥാർത്ഥത്തിൽ എന്ത് സംഭവിക്കുന്നു
ഒരു ഫണൽ പ്രസിദ്ധീകരിക്കുമ്പോൾ ഒരു മാറ്റമില്ലാത്ത പതിപ്പ് രേഖപ്പെടുത്തുന്നു. ആരെങ്കിലും പ്രവേശിക്കുന്നു, ഒരു വരി പ്രത്യക്ഷപ്പെടുന്നു: ഈ കോൺടാക്റ്റിനായി ഒരു റൺ, ആ പതിപ്പിലേക്ക് ഉറപ്പിച്ചത്, നിലവിലെ നോഡും ഒരു ഉണരുന്ന സമയവും അതിന്റേതായ കോൺടെക്സ്റ്റും വഹിക്കുന്നു.
ഉണരുന്ന സമയം കഴിഞ്ഞ റണ്ണുകൾ ഒരു വർക്കർ ലീസിനെടുക്കുന്നു, SKIP LOCKED ഉപയോഗിച്ച് അവകാശപ്പെടുന്നു, അതിനാൽ രണ്ട് വർക്കർമാർക്ക് ഒരേ റൺ എടുക്കാനാവില്ല. ഒരു കാത്തിരിപ്പോ ടെർമിനലോ എത്തുംവരെ നോഡുകൾ നിർവഹിക്കുന്നു, പിന്നെ അടുത്ത ഉണരുന്ന സമയം രേഖപ്പെടുത്തി വിട്ടുകൊടുക്കുന്നു.
ഒരു നോഡ് റൺ, കോൺടാക്റ്റ്, നോഡ് എന്നിവയുടെ ശുദ്ധമായ ഫങ്ഷനാണ് — അതിന്റെ ഫലങ്ങൾ റണ്ണിന്റെ സ്വന്തം പുരോഗതിയുടെ അതേ ട്രാൻസാക്ഷനിൽ കമ്മിറ്റ് ചെയ്യുന്നു. ഒരു റീട്രൈ സുരക്ഷിതമാക്കുന്നത് ഈ ഒറ്റ സവിശേഷതയാണ്. "അയക്കുക"യും "പുരോഗമിപ്പിക്കുക"യും ഇടയിലെ അര സെക്കൻഡിൽ കൊല്ലപ്പെടുന്ന ഒരു വർക്കർ രണ്ടും അല്ലെങ്കിൽ ഒന്നുമില്ല എന്നു വയ്ക്കുന്നു, ഒന്നുമാത്രം ഒരിക്കലുമില്ല.
സമയം ഡാറ്റാബേസിൽ നിന്നല്ല ആപ്പ് നൽകുന്നതിനാൽ, ഇപ്പോൾ എഴുതിയ ഒരു വരി ഇപ്പോൾ തന്നെ അടുത്തതാണ്. ഡാറ്റാബേസ് ക്ലോക്കിലേക്ക് ഡീഫോൾട്ട് ചെയ്യുന്ന ഒരു ഷെഡ്യൂളിംഗ് കോളം എഴുതിയ നിമിഷം അടുത്തതായിരിക്കില്ല, അത് സൃഷ്ടിച്ച ടിക്ക് തന്നെ നഷ്ടപ്പെടും — ഒരു സന്ദേശം ഒരു മണിക്കൂർ വൈകുന്നതുവരെ ഒന്നുമായി തോന്നുന്നില്ലാത്ത ഒരു ബഗ്.
- 1ലീസ്
wake_at <= now(),FOR UPDATE SKIP LOCKED. ലീസുകളില്ലാത്ത ഒരു ക്യൂ സ്ഥിരമായി ഇരട്ട അയയ്ക്കൽ നടത്തുന്നു. - 2നിർവഹിക്കുകഒരു കാത്തിരിപ്പോ ടെർമിനലോ വരുംവരെ ക്രമത്തിൽ നോഡുകൾ. ഓരോന്നും ഒരു സ്റ്റെപ്പ് എഴുതുന്നു: എന്ത് തീരുമാനിച്ചു, എന്ത് പുറപ്പെടുവിച്ചു.
- 3കമ്മിറ്റ് ചെയ്യുകഫലങ്ങളും പുരോഗതിയും, ഒരു ട്രാൻസാക്ഷനിൽ. ഇതാണ് മുഴുവൻ തന്ത്രം.
- 4ഉറക്കംഅടുത്ത
wake_atഎഴുതി. ഡൗൺസ്ട്രീം വരികൾ ഇതുവരെ ഇല്ല, ഒന്നും ആവശ്യമില്ല.
ഒരു കോൺടാക്റ്റിനും പതിപ്പിനും ഒരു റൺ
പതിനാല് ട്രിഗറുകൾ
ഒരു റൺ ആരംഭിക്കാൻ കഴിയുന്നത്
ഇവയിൽ ചിലത് അങ്ങ് ചെയ്യുന്ന കാര്യങ്ങളാണ്. മിക്കവയും അങ്ങയുടെ ഉപഭോക്താവ് ചെയ്യുന്നതോ ചെയ്യാത്തതോ ആണ് — ഒരു പ്രവർത്തനത്തിന്റെ അസാന്നിധ്യം തന്നെ ആ പ്രവർത്തനം പോലെ നല്ലൊരു ട്രിഗറാണ്.
അവർ എത്തുന്നു
form_submit, list_join, contact_created, tag_added, segment_enter. ഒരു സെഗ്മെന്റ് ഒരു ലൈവ് പ്രഡിക്കേറ്റ് ആയതിനാൽ, "സെഗ്മെന്റിൽ പ്രവേശിക്കുന്നു" എന്നത് അങ്ങിനെ പ്രകടിപ്പിക്കാവുന്ന എല്ലാ "ആയിത്തീർന്നു" എന്നതും ഉൾക്കൊള്ളുന്നു — മൂന്ന് ഓർഡറുകൾ, തൊണ്ണൂറ് ദിവസം നിശ്ശബ്ദത, ഒരു പരിധിയിൽ കൂടുതൽ ചെലവഴിക്കൽ.
അവർ എന്തെങ്കിലും ചെയ്യുന്നു
സൈറ്റ് സ്നിപ്പറ്റിൽ നിന്നുള്ള page_visit, message_opened, link_clicked, booking_made, payment_made. ഒരു സന്ദേശം തുറക്കപ്പെടുന്നത് തന്നെ കോൺടാക്റ്റിലെ ഒരു ഇവന്റ് ആണ്, അതിനാൽ ഒരു ഫണലിന് അത് അയച്ച അവസാന കാര്യത്തിനുള്ള പ്രതികരണത്തിനായി കാത്തിരിക്കാം.
സമയം, അല്ലെങ്കിൽ അങ്ങ്
ഒരു ഓഫ്സെറ്റുള്ള date_field — ഒരു ജന്മദിനം, ഒരു നവീകരണം, "ഒരു വർഷം പിന്നിട്ടു", ഏഴ് ദിവസം മുമ്പോ മൂന്ന് ദിവസം ശേഷമോ. ആവർത്തിക്കുന്നതിന് schedule. അങ്ങ് തീരുമാനിച്ചതിനാൽ അയക്കുന്ന പ്രഖ്യാപനത്തിന് manual.
അങ്ങയുടെ സ്വന്തം ആപ്ലിക്കേഷൻ
api_event എന്നത് അങ്ങയുടെ സ്വന്തം ടോക്കനും കോഡും ഉപയോഗിച്ച് പോസ്റ്റ് ചെയ്യുന്ന ഒരു കസ്റ്റം ഇവന്റ് ആണ്. അങ്ങയുടെ ഉൽപ്പന്നം അറിയുന്ന ഏതും ഒരു ട്രിഗറാകുന്നു: സജീവമാക്കി, ഒരു സഹപ്രവർത്തകനെ ക്ഷണിച്ചു, പരിധിയിൽ എത്തി, റദ്ദാകരിച്ചു, എക്സ്പോർട്ട് ചെയ്തു. ഒരു മെയിലിംഗ് ടൂളിനെ അങ്ങയുടെ ഉൽപ്പന്നത്തിന്റെ ഭാഗമാക്കുന്നത് ഇതാണ്.
പുനഃപ്രവേശനം, ഒരിക്കൽ തീരുമാനിക്കുന്നു
ഒരു ഫണൽ പുനഃപ്രവേശനക്ഷമമാണെങ്കിൽ അല്ലെങ്കിൽ അല്ല, ഡാറ്റാബേസ് അത് നടപ്പിലാക്കുന്നു: അങ്ങ് വ്യത്യസ്തമായി പറഞ്ഞില്ലെങ്കിൽ ഒരു ഫണലിനും കോൺടാക്റ്റിനും ഒരു റൺ. ഒരേ സെക്കൻഡിൽ ഒരേ ട്രിഗർ രണ്ടുതവണ ഫയർ ചെയ്താൽ കൃത്യമായി രണ്ട് റണ്ണുകൾ ഉണ്ടാകില്ല.
പ്രവേശന നിബന്ധനകൾ
ഒരു ട്രിഗർ ഫയർ ചെയ്യുന്നു, ഈ കോൺടാക്റ്റ് അർഹനാണോ എന്ന് പ്രവേശന സ്പെക് തീരുമാനിക്കുന്നു — വാതിലിന് മുന്നിലെ ഒരു സെഗ്മെന്റ് പ്രഡിക്കേറ്റ്. ആദ്യ സ്റ്റെപ്പിലെ ഒരു കണ്ടീഷൻ നോഡിനേക്കാൾ ചെലവ് കുറവ്, ഗ്രാഫിനെ ആരെ അനുവദിക്കുന്നു എന്നതിനേക്കാൾ എന്ത് സംഭവിക്കുന്നു എന്നതിനെക്കുറിച്ച് തുടരാൻ അനുവദിക്കുന്നു.

പതിനാല് കാര്യങ്ങൾക്ക് ഇത് ആരംഭിക്കാം. പിന്നെ പതിനാറ് കാര്യങ്ങൾക്ക് സംഭവിക്കാം.
പതിനാറ് ആക്ഷനുകളും ഏഴ് ഫ്ലോ നോഡുകളും
ഒരു ഫണലിന് എന്ത് ചെയ്യാം, അത് എങ്ങനെ തീരുമാനിക്കുന്നു
എന്തെങ്കിലും അയക്കുക
send_email, send_sms, send_push, send_letter — നാല് ചാനലുകൾ, ഒരു ഗ്രാഫ് — കൂടാതെ അറിയിക്കേണ്ട വ്യക്തി അങ്ങയുടെ ജീവനക്കാരനാണെങ്കിൽ notify_team.
കോൺടാക്റ്റ് മാറ്റുക
add_tag, remove_tag, add_to_list, remove_from_list, set_field. പോകുമ്പോൾ ആരെയെങ്കിലും അടയാളപ്പെടുത്തുന്നതാണ് അടുത്ത ഫണലിന്റെ സെഗ്മെന്റ് ലളിതമാക്കുന്നത്.
പുറത്തേക്ക് എത്തുക
ഇഷ്ടമുള്ളതിലേക്ക് http_request, അങ്ങയുടെ സ്വന്തം കണക്റ്റ് ചെയ്ത അക്കൗണ്ടിലേക്ക് create_payment, ഒരു ബുക്കിംഗ് റിസോഴ്സിലേക്ക് book_slot. പണമടയ്ക്കുന്നയാൾ അങ്ങയുടേതായി തുടരുന്നു; ആരും ഞങ്ങളുടെ ഉപഭോക്താവാകുന്നില്ല.
ഫണലുകൾക്കിടയിൽ നീങ്ങുക
enter_funnel, exit_funnel. ഒരു വെൽക്കം സീക്വൻസ് നിർമ്മിച്ച് നാല് സ്ഥലങ്ങളിൽ നിന്ന് വിളിക്കുക, മാർച്ചിനോടെ വ്യത്യസ്തമാകുന്ന നാല് പകർപ്പുകൾ പരിപാലിക്കുന്നതിന് പകരം.
അയയ്ക്കുന്ന സമയത്ത് സൃഷ്ടിക്കുക
ai_generate ഓരോ കോൺടാക്റ്റിനും മെർജ് വേരിയബിളുകൾ നിറയ്ക്കുന്നു, അങ്ങയുടെ ക്വോട്ടയ്ക്കെതിരെ അളക്കുന്നു, ക്രിയേറ്റീവും കോൺടാക്റ്റ്-അട്രിബ്യൂട്ട് ഹാഷും പ്രകാരം കാഷെ ചെയ്യുന്നു — അല്ലാത്തപക്ഷം ഓരോ അയയ്ക്കലിലും ഓരോ സ്വീകർത്താവിന് അങ്ങ് പണമടയ്ക്കും.
കാത്തിരിക്കുക, ബ്രാഞ്ച്, വിഭജനം, ചേരുക
wait ഒരു ദൈർഘ്യം, ഒരു തീയതി-സമയം, ഒരു വാരാന്ത്യദിനവും സമയവും, അല്ലെങ്കിൽ ഓഫ്സെറ്റുള്ള ഒരു തീയതി ഫീൽഡ് എന്നിവ സ്വീകരിക്കുന്നു. condition ഒരു സെഗ്മെന്റ് പ്രഡിക്കേറ്റ് ആണ്, അതിന് ഒരു അതെയും ഒരു വേണ്ടയും ഉണ്ട്. split ഭാരങ്ങളോടെ A/B/n ആണ്. join ബ്രാഞ്ചുകളെ വീണ്ടും ഒന്നിച്ചു കൊണ്ടുവരുന്നു.
goal — പ്രധാനപ്പെട്ട ഒന്ന്
ഒരു ഗോൾ അതിലെത്തുന്ന എല്ലാവർക്കും റൺ അവസാനിപ്പിക്കുന്നു. അവർ ബുക്ക് ചെയ്തു, വാങ്ങി, മറുപടി നൽകി: അവർക്ക് മാത്രം ശേഷിക്കുന്ന സീക്വൻസ് റദ്ദാക്കപ്പെടുന്നു. തിരിച്ചെത്തിയ അടുത്ത ദിവസം ആരും "നിങ്ങളെ മിസ് ചെയ്യുന്നു" എന്ന സന്ദേശം സ്വീകരിക്കുന്നില്ല, അത് തടയുന്നത് ഈ നോഡ് ആണ്.
throttle ഉം quiet_hours ഉം
ത്രോട്ടിൽ ഒരു ബർസ്റ്റിന്റെ വേഗം നിയന്ത്രിക്കുന്നു, അതിലൂടെ കുറഞ്ഞ റേറ്റ് പരിധിയുള്ള ഒരു മെയിൽബോക്സ് സസ്പെൻഷനിലേക്ക് നീക്കപ്പെടില്ല. ക്വയറ്റ് അവർസ് ഒരു മര്യാദയുള്ള സമയം വരെ സന്ദേശം പിടിച്ചുവയ്ക്കുന്നു — ഇത് സന്ദേശ ലെയറിൽ പ്രയോഗിക്കപ്പെടുന്നു, ഗ്രാഫിന്റെ ഓരോ ബ്രാഞ്ചിലും പകർത്തപ്പെടുന്നില്ല.
പ്രവർത്തിക്കാൻ കഴിയും മുമ്പ് പരിശോധിക്കപ്പെടുന്നു
വാലിഡേറ്റർ നിങ്ങൾക്കും AI-ക്കും ഒരേ കാര്യങ്ങൾ നിരസിക്കുന്നു
പ്രസിദ്ധീകരിക്കുന്നതിന് മുമ്പ് ഒരു ഗ്രാഫ് പരിശോധിക്കപ്പെടുന്നു, ആ പരിശോധന ഉപദേശപരമല്ല. ഒരാൾ ഫണൽ വരച്ചതാകട്ടെ, ഒരു മോഡൽ സൃഷ്ടിച്ചതാകട്ടെ, ഒരേ കോഡ് പാതയാണ് ഉപയോഗിക്കപ്പെടുന്നത്; സൃഷ്ടിച്ച ഫണലുകൾ വിശ്വസനീയമാകുന്നത് അതുകൊണ്ട് മാത്രമാണ്.
കൃത്യമായി ഒരു എൻട്രി
രണ്ട് എൻട്രി നോഡുകൾ ഒരു അവ്യക്തതയാണ്; ഒരു ലിസ്റ്റിന്റെ തെറ്റായ പകുതിക്ക് തെറ്റായ സീക്വൻസ് ലഭിക്കുന്നത് വരെ ആരും ശ്രദ്ധിക്കാത്ത അവ്യക്തത.
എല്ലാ നോഡുകളും എത്തിച്ചേരാവുന്നവ
ഒറ്റപ്പെട്ട ഒരു ബ്രാഞ്ച് ഒന്നുകിൽ ഒരു തെറ്റാണ്, അല്ലെങ്കിൽ പോകുന്നുണ്ടെന്ന് നിങ്ങൾ കരുതുന്നതും പോകാത്തതുമായ ഒരു സന്ദേശമാണ്. രണ്ടും അറിയിക്കപ്പെടേണ്ട കാര്യങ്ങളാണ്.
ഒരു സൈക്കിളിൽ ഒരു wait ഉണ്ടായിരിക്കണം
അതിൽ wait ഇല്ലാത്ത ഒരു ലൂപ്പ്, നടുവിൽ ഒരു അയയ്ക്കലുള്ള ഒരു അനന്ത ലൂപ്പാണ്. ഒരു ഫണലും ഒരു സംഭവവും തമ്മിലുള്ള വ്യത്യാസം ഈ നിയമമാണ്.
എല്ലാ അയയ്ക്കലിനും അതിന്റെ ക്രിയേറ്റീവ് ഉണ്ട്
ഒരു ക്രിയേറ്റീവും ഒരു വിഷയവുമില്ലാത്ത send_email നോഡ് പ്രസിദ്ധീകരിക്കാൻ കഴിയില്ല. ശരിയായ വിഷയവും ശൂന്യമായ ബോഡിയുമുള്ള സന്ദേശം ഒരു യഥാർത്ഥ പരാജയ രീതിയാണ്; അത് ഇവിടെ നിരസിക്കപ്പെടുന്നു.
എല്ലാ വേരിയബിളുകളും അറിയപ്പെടുന്നവയാണ്
മെർജ് വേരിയബിളുകൾ പ്രസിദ്ധീകരണ സമയത്ത് വാലിഡേറ്റ് ചെയ്യപ്പെടുന്നു. {{frist_name}} എന്നത് എഡിറ്റിംഗ് സമയത്ത് നിങ്ങൾ കാണുന്ന ഒരു ടൈപ്പോ ആണ്, നാല്പതിനായിരം ഇൻബോക്സുകളിൽ എത്തുന്ന "നമസ്കാരം ," അല്ല.
പിന്നെ അത് സിമുലേറ്റ് ചെയ്യുക
ഒരു യഥാർത്ഥ കോൺടാക്റ്റിനെ മുഴുവൻ ഗ്രാഫിലൂടെ ഡ്രൈ-റൺ ചെയ്യുക, സ്വീകരിച്ച പാതയും അയയ്ക്കപ്പെടുമായിരുന്ന ഓരോ സന്ദേശവും അതിന്റെ ദിവസത്തോടെ വായിച്ചെടുക്കുക. ഒന്നും പുറത്തുപോകുന്നില്ല.
ബുദ്ധിമുട്ടുള്ള കേസുകൾ
ഒരു സാധാരണ എഞ്ചിനെ തകർക്കുന്ന ഏഴ് കാര്യങ്ങൾ
ഇവയിൽ ഓരോന്നും അതിന്റെ പിന്നിൽ ഒരു നിർണായക ക്ലോക്കുള്ള ഒരു ടെസ്റ്റാണ്, കാരണം ഓരോന്നും യാഥാർത്ഥ്യവുമായി കൂട്ടുകെട്ടുന്നത് വരെ തികച്ചും ശരിയായി തോന്നുന്ന ഒരു ഇമ്പ്ലിമെന്റേഷനെ തകർക്കുന്നു.
- 1സ്വയം ലൂപ്പ് ചെയ്യുന്ന ഒരു ഫണൽന്യായമായതും സാധാരണവും ശരിയുമാണ് — സൈക്കിളിൽ ഒരു wait ഉണ്ടെങ്കിൽ മാത്രം, വാലിഡേറ്റർ അത് നിർബന്ധമാക്കുന്നു.
- 2ഒരാൾ മധ്യയാത്രയിൽ അൺസബ്സ്ക്രൈബ് ചെയ്യുന്നുസപ്രഷൻ പരിശോധിക്കുന്നത് അയയ്ക്കുമ്പോഴാണ്, എൻക്യൂ ചെയ്യുമ്പോഴല്ല. എൻക്യൂ സമയത്ത് പരിശോധിച്ചാൽ, wait സമയത്ത് പോയവരുടെ ഇമെയിലുകൾ അയയ്ക്കപ്പെടും.
- 3പതിനായിരം പേർ ഉള്ളിൽ ആയിരിക്കുമ്പോൾ ഫണൽ എഡിറ്റ് ചെയ്യപ്പെടുന്നുഅവർ പ്രവേശിച്ച വേർഷനിൽ തന്നെ അവസാനം വരെ നടക്കുന്നു. പുതിയവർ പുതിയത് നടക്കുന്നു.
- 4ഒരേ സെക്കൻഡിൽ ഒരേ ട്രിഗർ രണ്ടുതവണ ഫയർ ചെയ്യുന്നുഒരു റൺ മാത്രം, കാരണം യൂണിക്നസ് ഒരു പരിശോധനയും ഇൻസെർട്ടും അല്ല, ഒരു ഇൻഡെക്സാണ്.
- 5റൺ മധ്യത്തിൽ ഒരു കോൺടാക്റ്റ് ഡിലീറ്റ് ചെയ്യപ്പെടുന്നുറൺ അവസാനിക്കുന്നു. ഒരാളെ അഭിസംബോധന ചെയ്യുന്ന ഒരു സീക്വൻസ് അവശേഷിപ്പിക്കുന്ന ഒരു ഇരേഷർ ഇരേഷർ അല്ല.
- 6ഒരു wait ഡേലൈറ്റ്-സേവിംഗ് മാറ്റത്തിലൂടെ കടന്നുപോകുന്നു"രാവിലെ ഒൻപതിന് മൂന്ന് ദിവസം" എന്നാൽ ക്ലോക്ക് മാറ്റത്തിന്റെ ഇരുവശത്തും രാവിലെ ഒൻപത് എന്നാണ് അർത്ഥം.
- 7അയയ്ക്കലും അഡ്വാൻസും ഇടയിൽ ഒരു വർക്കർ കൊല്ലപ്പെടുന്നുഇഫക്റ്റുകളും അഡ്വാൻസും ഒരു ട്രാൻസാക്ഷനാണ്. രണ്ടും സംഭവിച്ചു അല്ലെങ്കിൽ ഒന്നും സംഭവിച്ചില്ല.
നിശ്ചിത ക്ലോക്ക്ഓരോ ടെസ്റ്റും ഒരു സാധ്യമായ ഇമ്പ്ലിമെന്റേഷനെ തകർക്കുന്നു
കാമ്പെയ്നുകൾ മറ്റേ പകുതിയാണ്
ഒരു ഫണൽ പ്രതികരിക്കുന്നു. ഒരു കാമ്പെയ്ൻ ഒറ്റത്തവണ പ്രക്ഷേപണമാണ്: ഒരു ഓഡിയൻസ്, ഒരു ഷെഡ്യൂൾ, ഒരു ത്രോട്ടിൽ, ഒരു അയയ്ക്കൽ. ഇത് വ്യത്യസ്ത രൂപമുള്ള ഒരു കാര്യമാണ്, ഒരു നോഡ് മാത്രമുള്ള ഫണൽ ആണെന്ന് നടിക്കുന്നതിന് പകരം ഇത് വേറിട്ട് തന്നെ സൂക്ഷിക്കുന്നു.
രണ്ട് നിയമങ്ങൾ ഇതിനെ സുരക്ഷിതമാക്കുന്നു. ഒരു ഓഡിയൻസ് ഒരിക്കൽ മാത്രം മെറ്റീരിയലൈസ് ചെയ്യപ്പെടുന്നു, രണ്ടുതവണ പ്രവർത്തിക്കാൻ വിസമ്മതിക്കുന്നു — വീണ്ടും റെസോൾവ് ചെയ്യുന്നത് അയയ്ക്കൽ ആരംഭിച്ചതിനുശേഷം ചേർന്ന എല്ലാവരെയും ശാന്തമായി ചേർക്കുമായിരുന്നു, അത് സൃഷ്ടിച്ച ഡ്യൂപ്ലിക്കേറ്റുകൾ തടയുന്നതിലൂടെ ഡീഡ്യൂപ്ലിക്കേഷൻ ഇൻഡക്സ് അതിനെ മറയ്ക്കുമായിരുന്നു. കൂടാതെ കൗണ്ടറുകൾ ഡെലിവറി ഇവന്റുകളിൽ നിന്ന് വീണ്ടും കണക്കാക്കുന്നു, ഒരിക്കലും നേരിട്ട് കൂട്ടുന്നില്ല, അതിനാൽ വീണ്ടും ശ്രമിച്ച ഒരു വെബ്ഹുക്കിന് ഒരു റിപ്പോർട്ട് വീർപ്പിക്കാനാവില്ല.
ഏത് ഉപയോഗിക്കണം: ഒരാളുടെ പ്രവൃത്തി കൊണ്ടാണ് സംഭവിക്കുന്നതെങ്കിൽ, അത് ഒരു ഫണൽ ആണ്. താങ്കൾ ഒരു ചൊവ്വാഴ്ച തീരുമാനിച്ച എന്തെങ്കിലും കൊണ്ടാണ് സംഭവിക്കുന്നതെങ്കിൽ, അത് ഒരു കാമ്പെയ്ൻ ആണ്. രണ്ടാമത്തേതിനെ ഒന്നാമത്തേതിന്റെ രൂപത്തിലേക്ക് നിർബന്ധിച്ചിടുന്നതിലൂടെ അസാധാരണമായ അളവിൽ മാർക്കറ്റിംഗ് ഓട്ടോമേഷൻ തെറ്റിക്കുന്നു.