7883 lines
180 KiB
HTML
7883 lines
180 KiB
HTML
|
||
<!doctype html>
|
||
<html lang="en" class="no-js">
|
||
<head>
|
||
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
|
||
<meta name="description" content="Build Power. Not Rent It. Own your digital infrastructure.">
|
||
|
||
|
||
<meta name="author" content="Bunker Operations">
|
||
|
||
|
||
<link rel="canonical" href="https://bnkserve.org/v2/user-guides/campaign-manager-guide/">
|
||
|
||
|
||
<link rel="prev" href="../admin-guide/">
|
||
|
||
|
||
<link rel="next" href="../map-organizer-guide/">
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="icon" href="../../../assets/favicon.png">
|
||
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.1">
|
||
|
||
|
||
|
||
<title>Campaign Manager Guide - Changemaker Lite</title>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="../../../assets/stylesheets/main.484c7ddc.min.css">
|
||
|
||
|
||
<link rel="stylesheet" href="../../../assets/stylesheets/palette.ab4e12ef.min.css">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300,300i,400,400i,700,700i%7CJetBrains+Mono:400,400i,700,700i&display=fallback">
|
||
<style>:root{--md-text-font:"Inter";--md-code-font:"JetBrains Mono"}</style>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="../../../stylesheets/extra.css">
|
||
|
||
<link rel="stylesheet" href="../../../stylesheets/home.css">
|
||
|
||
<link rel="stylesheet" href="../../../assets/css/video-player.css">
|
||
|
||
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:title" content="Campaign Manager Guide - Changemaker Lite" />
|
||
<meta property="og:description" content="Build Power. Not Rent It. Own your digital infrastructure." />
|
||
<meta property="og:image" content="https://bnkserve.org/assets/images/social/v2/user-guides/campaign-manager-guide.png" />
|
||
<meta property="og:image:type" content="image/png" />
|
||
<meta property="og:image:width" content="1200" />
|
||
<meta property="og:image:height" content="630" />
|
||
<meta property="og:url" content="https://bnkserve.org/v2/user-guides/campaign-manager-guide/" />
|
||
<meta property="twitter:card" content="summary_large_image" />
|
||
<meta property="twitter:title" content="Campaign Manager Guide - Changemaker Lite" />
|
||
<meta property="twitter:description" content="Build Power. Not Rent It. Own your digital infrastructure." />
|
||
<meta property="twitter:image" content="https://bnkserve.org/assets/images/social/v2/user-guides/campaign-manager-guide.png" />
|
||
</head>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="deep-purple" data-md-color-accent="amber">
|
||
|
||
|
||
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
||
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
||
<label class="md-overlay" for="__drawer"></label>
|
||
<div data-md-component="skip">
|
||
|
||
|
||
<a href="#campaign-manager-guide" class="md-skip">
|
||
Skip to content
|
||
</a>
|
||
|
||
</div>
|
||
<div data-md-component="announce">
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
|
||
<nav class="md-header__inner md-grid" aria-label="Header">
|
||
<a href="../../.." title="Changemaker Lite" class="md-header__button md-logo" aria-label="Changemaker Lite" data-md-component="logo">
|
||
|
||
<img src="../../../assets/logo.png" alt="logo">
|
||
|
||
</a>
|
||
<label class="md-header__button md-icon" for="__drawer">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
||
</label>
|
||
<div class="md-header__title" data-md-component="header-title">
|
||
<div class="md-header__ellipsis">
|
||
<div class="md-header__topic">
|
||
<span class="md-ellipsis">
|
||
Changemaker Lite
|
||
</span>
|
||
</div>
|
||
<div class="md-header__topic" data-md-component="header-topic">
|
||
<span class="md-ellipsis">
|
||
|
||
Campaign Manager Guide
|
||
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<form class="md-header__option" data-md-component="palette">
|
||
|
||
|
||
|
||
|
||
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="deep-purple" data-md-color-accent="amber" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
|
||
|
||
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3zm3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95zm-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31"/></svg>
|
||
</label>
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="deep-purple" data-md-color-accent="amber" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
|
||
|
||
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5s-1.65.15-2.39.42zM3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29zm.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14zM20.65 7l-1.77 3.79a7.02 7.02 0 0 0-2.38-4.15zm-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29zM12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44z"/></svg>
|
||
</label>
|
||
|
||
|
||
</form>
|
||
|
||
|
||
|
||
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-header__button md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||
</label>
|
||
<div class="md-search" data-md-component="search" role="dialog">
|
||
<label class="md-search__overlay" for="__search"></label>
|
||
<div class="md-search__inner" role="search">
|
||
<form class="md-search__form" name="search">
|
||
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
||
<label class="md-search__icon md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
||
</label>
|
||
<nav class="md-search__options" aria-label="Search">
|
||
|
||
<a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg>
|
||
</a>
|
||
|
||
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
||
</button>
|
||
</nav>
|
||
|
||
<div class="md-search__suggest" data-md-component="search-suggest"></div>
|
||
|
||
</form>
|
||
<div class="md-search__output">
|
||
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
||
<div class="md-search-result" data-md-component="search-result">
|
||
<div class="md-search-result__meta">
|
||
Initializing search
|
||
</div>
|
||
<ol class="md-search-result__list" role="presentation"></ol>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-header__source">
|
||
<a href="https://gitea.bnkops.com/admin/changemaker.lite" title="Go to repository" class="md-source" data-md-component="source">
|
||
<div class="md-source__icon md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
|
||
</div>
|
||
<div class="md-source__repository">
|
||
changemaker.lite
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
</nav>
|
||
|
||
|
||
|
||
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
|
||
<div class="md-grid">
|
||
<ul class="md-tabs__list">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../.." class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
Home
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item md-tabs__item--active">
|
||
<a href="../../" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
V2 Documentation
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../../phil/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
Philosophy
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../../v1/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
V1 Documentation (Legacy)
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../../blog/" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
Blog
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
|
||
|
||
</header>
|
||
|
||
<div class="md-container" data-md-component="container">
|
||
|
||
|
||
|
||
|
||
<main class="md-main" data-md-component="main">
|
||
<div class="md-main__inner md-grid">
|
||
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
||
<label class="md-nav__title" for="__drawer">
|
||
<a href="../../.." title="Changemaker Lite" class="md-nav__button md-logo" aria-label="Changemaker Lite" data-md-component="logo">
|
||
|
||
<img src="../../../assets/logo.png" alt="logo">
|
||
|
||
</a>
|
||
Changemaker Lite
|
||
</label>
|
||
|
||
<div class="md-nav__source">
|
||
<a href="https://gitea.bnkops.com/admin/changemaker.lite" title="Go to repository" class="md-source" data-md-component="source">
|
||
<div class="md-source__icon md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
|
||
</div>
|
||
<div class="md-source__repository">
|
||
changemaker.lite
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../.." class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Home
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
V2 Documentation
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
||
<label class="md-nav__title" for="__nav_2">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
V2 Documentation
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_2" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../getting-started/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Getting Started
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_2" id="__nav_2_2_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_2">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Getting Started
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../getting-started/quick-start/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Quick Start
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_3" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../architecture/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Architecture
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_3" id="__nav_2_3_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_3">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Architecture
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../architecture/dual-api/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Dual API System
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../architecture/authentication/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Authentication & Security
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_4" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../backend/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Backend
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_4" id="__nav_2_4_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_4_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_4">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Backend
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../backend/modules/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Modules
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../backend/services/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Services
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../backend/middleware/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Middleware
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../backend/utilities/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Utilities
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_5" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../frontend/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Frontend
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_5" id="__nav_2_5_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_5">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Frontend
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../frontend/components/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Components
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../frontend/layouts/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Layouts
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../frontend/pages/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Pages
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_6" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../database/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Database
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_6" id="__nav_2_6_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_6_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_6">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Database
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../database/schema/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Schema Overview
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../database/migrations/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Migrations
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../database/seeding/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Seeding
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../database/indexes/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Indexes
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../database/models/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Models
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_7" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../features/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Features
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_7" id="__nav_2_7_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_7_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_7">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Features
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../features/influence/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Influence
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../features/map/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Map
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../features/landing-pages/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Landing Pages
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../features/email-templates/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Email Templates
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../features/media/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Media
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../features/newsletter/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Newsletter
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../features/observability/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Observability
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../features/tunnel/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Tunnel
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_8" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../deployment/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Deployment
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_8" id="__nav_2_8_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_8_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_8">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Deployment
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../deployment/docker-compose/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Docker Compose
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../deployment/environment-variables/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Environment Variables
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../deployment/nginx/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Nginx Configuration
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../deployment/ssl-tls/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
SSL/TLS
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../deployment/tunneling/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Tunneling
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../deployment/monitoring-stack/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Monitoring Stack
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../deployment/healthchecks/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Health Checks
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../deployment/scaling/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Scaling
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../deployment/backup-restore/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Backup & Restore
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_9" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../development/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Development
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_9" id="__nav_2_9_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_9">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Development
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../development/local-setup/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Local Setup
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../development/docker-workflow/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Docker Workflow
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../development/git-workflow/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Git Workflow
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../development/npm-commands/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
NPM Commands
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../development/migrations/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Migrations
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../development/typescript/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
TypeScript
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../development/testing/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Testing
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../development/debugging/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Debugging
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../development/code-style/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Code Style
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_10" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../api-reference/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
API Reference
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_10_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_10">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
API Reference
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" checked>
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
User Guides
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_11" id="__nav_2_11_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="true">
|
||
<label class="md-nav__title" for="__nav_2_11">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
User Guides
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../admin-guide/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Admin Guide
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active">
|
||
|
||
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Campaign Manager Guide
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<a href="./" class="md-nav__link md-nav__link--active">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Campaign Manager Guide
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
|
||
|
||
|
||
<nav class="md-nav md-nav--secondary" aria-label="On this page">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
On this page
|
||
</label>
|
||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#overview" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Overview
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#understanding-campaign-roles" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Understanding Campaign Roles
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Understanding Campaign Roles">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#super_admin" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
SUPER_ADMIN
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#influence_admin" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
INFLUENCE_ADMIN
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#planning-a-campaign" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Planning a Campaign
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Planning a Campaign">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#defining-campaign-goals" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Defining Campaign Goals
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#understanding-your-target-audience" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Understanding Your Target Audience
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#crafting-your-message" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Crafting Your Message
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#creating-a-campaign" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Creating a Campaign
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Creating a Campaign">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#basic-campaign-setup" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Basic Campaign Setup
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#campaign-fields" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Campaign Fields
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Campaign Fields">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#title" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Title
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#slug" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Slug
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#description" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Description
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#government-level" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Government Level
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#email-subject" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Email Subject
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#email-body" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Email Body
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#cover-photo-optional" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Cover Photo (Optional)
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#configuring-feature-flags" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Configuring Feature Flags
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Configuring Feature Flags">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#core-feature-flags" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Core Feature Flags
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Core Feature Flags">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#1-published" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
1. Published
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-featured" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
2. Featured
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-has-response-wall" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
3. Has Response Wall
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#advanced-feature-flags" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Advanced Feature Flags
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Advanced Feature Flags">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-collect-phone-numbers" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
4. Collect Phone Numbers
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-track-calls" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
5. Track Calls
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#6-require-verification" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
6. Require Verification
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#7-auto-approve-responses" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
7. Auto Approve Responses
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#8-allow-anonymous" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
8. Allow Anonymous
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#9-custom-recipients" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
9. Custom Recipients
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#10-show-progress-bar" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
10. Show Progress Bar
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#11-disable-after-date" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
11. Disable After Date
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#12-enable-comments" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
12. Enable Comments
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#email-template-best-practices" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Email Template Best Practices
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Email Template Best Practices">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#writing-effective-subject-lines" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Writing Effective Subject Lines
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#structuring-the-email-body" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Structuring the Email Body
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#using-variables-effectively" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Using Variables Effectively
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#html-formatting-tips" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
HTML Formatting Tips
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#publishing-your-campaign" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Publishing Your Campaign
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Publishing Your Campaign">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#pre-launch-checklist" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Pre-Launch Checklist
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#publishing" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Publishing
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#promoting-your-campaign" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Promoting Your Campaign
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#monitoring-performance" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Monitoring Performance
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Monitoring Performance">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#campaign-email-statistics" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Campaign Email Statistics
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#understanding-email-status" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Understanding Email Status
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#response-wall-statistics" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Response Wall Statistics
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#email-queue-health" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Email Queue Health
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#moderating-responses" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Moderating Responses
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Moderating Responses">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#response-moderation-workflow" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Response Moderation Workflow
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#reviewing-a-response" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Reviewing a Response
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#moderation-best-practices" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Moderation Best Practices
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#responding-to-moderation-issues" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Responding to Moderation Issues
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#optimization-strategies" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Optimization Strategies
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Optimization Strategies">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#improving-email-conversion-rates" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Improving Email Conversion Rates
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Improving Email Conversion Rates">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#1-simplify-the-form" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
1. Simplify the Form
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-reduce-friction" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
2. Reduce Friction
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-strengthen-the-call-to-action" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
3. Strengthen the Call to Action
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-improve-email-template" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
4. Improve Email Template
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-add-trust-signals" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
5. Add Trust Signals
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#ab-testing" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
A/B Testing
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#encouraging-response-wall-participation" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Encouraging Response Wall Participation
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Encouraging Response Wall Participation">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#1-highlight-the-response-wall" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
1. Highlight the Response Wall
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-reduce-friction_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
2. Reduce Friction
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-provide-examples" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
3. Provide Examples
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-incentivize-participation" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
4. Incentivize Participation
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-moderate-quickly" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
5. Moderate Quickly
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#boosting-upvotes" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Boosting Upvotes
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#reporting-and-analytics" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Reporting and Analytics
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Reporting and Analytics">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#campaign-performance-report" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Campaign Performance Report
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#exporting-data" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Exporting Data
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#troubleshooting" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Troubleshooting
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Troubleshooting">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#low-email-conversion-rate" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Low Email Conversion Rate
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#low-response-wall-participation" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Low Response Wall Participation
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#emails-stuck-in-queue" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Emails Stuck in Queue
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#high-email-failure-rate" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
High Email Failure Rate
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#related-documentation" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Related Documentation
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../map-organizer-guide/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Map Organizer Guide
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../content-editor-guide/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Content Editor Guide
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../volunteer-guide/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Volunteer Guide
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_12" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../troubleshooting/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Troubleshooting
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_12" id="__nav_2_12_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_12_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_12">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Troubleshooting
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../troubleshooting/faq/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
FAQ
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../troubleshooting/common-errors/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Common Errors
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../troubleshooting/auth-issues/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Auth Issues
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../troubleshooting/database-issues/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Database Issues
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../troubleshooting/docker-issues/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Docker Issues
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../troubleshooting/email-issues/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Email Issues
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../troubleshooting/geocoding-issues/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Geocoding Issues
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../troubleshooting/monitoring-issues/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Monitoring Issues
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../troubleshooting/performance-optimization/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Performance Optimization
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_13" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../migration/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Migration
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_13" id="__nav_2_13_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_13_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_13">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Migration
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../migration/feature-parity/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Feature Parity
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../migration/breaking-changes/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Breaking Changes
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../migration/api-changes/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
API Changes
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../migration/data-migration/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Data Migration
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2_14" >
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href="../../contributing/" class="md-nav__link ">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Contributing
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_2_14" id="__nav_2_14_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_14_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_2_14">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
Contributing
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../contributing/development-setup/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Development Setup
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../contributing/code-of-conduct/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Code of Conduct
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../contributing/pull-requests/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Pull Requests
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../contributing/roadmap/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Roadmap
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../../phil/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Philosophy
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../../v1/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
V1 Documentation (Legacy)
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="../../../blog/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Blog
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
</a>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
|
||
|
||
|
||
<nav class="md-nav md-nav--secondary" aria-label="On this page">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
On this page
|
||
</label>
|
||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#overview" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Overview
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#understanding-campaign-roles" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Understanding Campaign Roles
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Understanding Campaign Roles">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#super_admin" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
SUPER_ADMIN
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#influence_admin" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
INFLUENCE_ADMIN
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#planning-a-campaign" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Planning a Campaign
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Planning a Campaign">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#defining-campaign-goals" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Defining Campaign Goals
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#understanding-your-target-audience" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Understanding Your Target Audience
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#crafting-your-message" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Crafting Your Message
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#creating-a-campaign" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Creating a Campaign
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Creating a Campaign">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#basic-campaign-setup" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Basic Campaign Setup
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#campaign-fields" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Campaign Fields
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Campaign Fields">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#title" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Title
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#slug" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Slug
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#description" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Description
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#government-level" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Government Level
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#email-subject" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Email Subject
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#email-body" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Email Body
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#cover-photo-optional" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Cover Photo (Optional)
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#configuring-feature-flags" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Configuring Feature Flags
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Configuring Feature Flags">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#core-feature-flags" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Core Feature Flags
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Core Feature Flags">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#1-published" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
1. Published
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-featured" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
2. Featured
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-has-response-wall" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
3. Has Response Wall
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#advanced-feature-flags" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Advanced Feature Flags
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Advanced Feature Flags">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-collect-phone-numbers" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
4. Collect Phone Numbers
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-track-calls" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
5. Track Calls
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#6-require-verification" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
6. Require Verification
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#7-auto-approve-responses" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
7. Auto Approve Responses
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#8-allow-anonymous" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
8. Allow Anonymous
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#9-custom-recipients" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
9. Custom Recipients
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#10-show-progress-bar" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
10. Show Progress Bar
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#11-disable-after-date" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
11. Disable After Date
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#12-enable-comments" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
12. Enable Comments
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#email-template-best-practices" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Email Template Best Practices
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Email Template Best Practices">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#writing-effective-subject-lines" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Writing Effective Subject Lines
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#structuring-the-email-body" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Structuring the Email Body
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#using-variables-effectively" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Using Variables Effectively
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#html-formatting-tips" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
HTML Formatting Tips
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#publishing-your-campaign" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Publishing Your Campaign
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Publishing Your Campaign">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#pre-launch-checklist" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Pre-Launch Checklist
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#publishing" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Publishing
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#promoting-your-campaign" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Promoting Your Campaign
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#monitoring-performance" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Monitoring Performance
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Monitoring Performance">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#campaign-email-statistics" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Campaign Email Statistics
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#understanding-email-status" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Understanding Email Status
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#response-wall-statistics" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Response Wall Statistics
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#email-queue-health" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Email Queue Health
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#moderating-responses" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Moderating Responses
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Moderating Responses">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#response-moderation-workflow" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Response Moderation Workflow
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#reviewing-a-response" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Reviewing a Response
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#moderation-best-practices" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Moderation Best Practices
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#responding-to-moderation-issues" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Responding to Moderation Issues
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#optimization-strategies" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Optimization Strategies
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Optimization Strategies">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#improving-email-conversion-rates" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Improving Email Conversion Rates
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Improving Email Conversion Rates">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#1-simplify-the-form" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
1. Simplify the Form
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-reduce-friction" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
2. Reduce Friction
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-strengthen-the-call-to-action" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
3. Strengthen the Call to Action
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-improve-email-template" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
4. Improve Email Template
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-add-trust-signals" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
5. Add Trust Signals
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#ab-testing" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
A/B Testing
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#encouraging-response-wall-participation" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Encouraging Response Wall Participation
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Encouraging Response Wall Participation">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#1-highlight-the-response-wall" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
1. Highlight the Response Wall
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-reduce-friction_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
2. Reduce Friction
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-provide-examples" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
3. Provide Examples
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-incentivize-participation" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
4. Incentivize Participation
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-moderate-quickly" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
5. Moderate Quickly
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#boosting-upvotes" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Boosting Upvotes
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#reporting-and-analytics" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Reporting and Analytics
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Reporting and Analytics">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#campaign-performance-report" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Campaign Performance Report
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#exporting-data" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Exporting Data
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#troubleshooting" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Troubleshooting
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Troubleshooting">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#low-email-conversion-rate" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Low Email Conversion Rate
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#low-response-wall-participation" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Low Response Wall Participation
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#emails-stuck-in-queue" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Emails Stuck in Queue
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#high-email-failure-rate" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
High Email Failure Rate
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#related-documentation" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Related Documentation
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-content" data-md-component="content">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<nav class="md-path" aria-label="Navigation" >
|
||
<ol class="md-path__list">
|
||
|
||
|
||
|
||
|
||
<li class="md-path__item">
|
||
<a href="../../.." class="md-path__link">
|
||
|
||
<span class="md-ellipsis">
|
||
Home
|
||
</span>
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-path__item">
|
||
<a href="../../" class="md-path__link">
|
||
|
||
<span class="md-ellipsis">
|
||
V2 Documentation
|
||
</span>
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-path__item">
|
||
<a href="../" class="md-path__link">
|
||
|
||
<span class="md-ellipsis">
|
||
User Guides
|
||
</span>
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ol>
|
||
</nav>
|
||
|
||
|
||
<article class="md-content__inner md-typeset">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="https://gitea.bnkops.com/admin/changemaker.lite/src/branch/main/mkdocs/docs/v2/user-guides/campaign-manager-guide.md" title="Edit this page" class="md-content__button md-icon" rel="edit">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg>
|
||
</a>
|
||
|
||
|
||
|
||
|
||
|
||
<a href="https://gitea.bnkops.com/admin/changemaker.lite/src/branch/main/mkdocs/docs/v2/user-guides/campaign-manager-guide.md" title="View source of this page" class="md-content__button md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg>
|
||
</a>
|
||
|
||
|
||
|
||
<h1 id="campaign-manager-guide">Campaign Manager Guide<a class="headerlink" href="#campaign-manager-guide" title="Permanent link">¶</a></h1>
|
||
<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">¶</a></h2>
|
||
<p>As a Campaign Manager, you're responsible for planning, launching, and optimizing advocacy campaigns using Changemaker Lite's Influence module. This guide will help you:</p>
|
||
<ul>
|
||
<li><strong>Plan effective campaigns</strong>: Set goals, define targets, craft messaging</li>
|
||
<li><strong>Configure campaigns</strong>: Set up email templates, feature flags, and targeting</li>
|
||
<li><strong>Launch campaigns</strong>: Publish and promote to maximize participation</li>
|
||
<li><strong>Monitor performance</strong>: Track email sends, response rates, and engagement</li>
|
||
<li><strong>Optimize results</strong>: A/B test messaging, improve conversion, encourage responses</li>
|
||
<li><strong>Moderate content</strong>: Review and approve response wall submissions</li>
|
||
</ul>
|
||
<p>Whether you're running a small local campaign or a national advocacy push, this guide provides strategies and best practices for success.</p>
|
||
<hr />
|
||
<h2 id="understanding-campaign-roles">Understanding Campaign Roles<a class="headerlink" href="#understanding-campaign-roles" title="Permanent link">¶</a></h2>
|
||
<p>You may have one of two roles that allow campaign management:</p>
|
||
<h3 id="super_admin">SUPER_ADMIN<a class="headerlink" href="#super_admin" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li><strong>Access</strong>: Full platform access</li>
|
||
<li><strong>Capabilities</strong>: All campaign functions plus user management, site settings, etc.</li>
|
||
<li><strong>Use case</strong>: Primary administrator</li>
|
||
</ul>
|
||
<h3 id="influence_admin">INFLUENCE_ADMIN<a class="headerlink" href="#influence_admin" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li><strong>Access</strong>: Influence module only</li>
|
||
<li><strong>Capabilities</strong>:</li>
|
||
<li>Create and edit campaigns</li>
|
||
<li>Moderate responses</li>
|
||
<li>Monitor email queue</li>
|
||
<li>View representative cache</li>
|
||
<li><strong>Restrictions</strong>: Cannot manage users, locations, or site settings</li>
|
||
<li><strong>Use case</strong>: Dedicated campaign manager without full admin access</li>
|
||
</ul>
|
||
<div class="admonition tip">
|
||
<p class="admonition-title">Role Specialization</p>
|
||
<p>If you only manage campaigns (not volunteers or locations), ask for INFLUENCE_ADMIN role. This keeps the interface focused on your work.</p>
|
||
</div>
|
||
<hr />
|
||
<h2 id="planning-a-campaign">Planning a Campaign<a class="headerlink" href="#planning-a-campaign" title="Permanent link">¶</a></h2>
|
||
<h3 id="defining-campaign-goals">Defining Campaign Goals<a class="headerlink" href="#defining-campaign-goals" title="Permanent link">¶</a></h3>
|
||
<p>Before creating a campaign in the system, clarify your objectives:</p>
|
||
<p><strong>Advocacy goals:</strong></p>
|
||
<ol>
|
||
<li><strong>Awareness</strong>: Educate the public about an issue</li>
|
||
<li><strong>Pressure</strong>: Generate constituent contact to influence decision-makers</li>
|
||
<li><strong>Mobilization</strong>: Build a list of supporters for future action</li>
|
||
<li><strong>Visibility</strong>: Demonstrate public support through response wall</li>
|
||
</ol>
|
||
<p><strong>Measurable targets:</strong></p>
|
||
<ul>
|
||
<li><strong>Email goal</strong>: How many emails do you want sent?</li>
|
||
<li>Example: "1,000 emails to MPs by end of month"</li>
|
||
<li><strong>Response goal</strong>: How many public responses?</li>
|
||
<li>Example: "100 personal stories shared on response wall"</li>
|
||
<li><strong>Conversion rate</strong>: What % of visitors should take action?</li>
|
||
<li>Benchmark: 5-15% is typical for advocacy campaigns</li>
|
||
<li><strong>Timeline</strong>: When does the campaign start/end?</li>
|
||
<li>Align with legislative calendar, events, deadlines</li>
|
||
</ul>
|
||
<p><strong>Example campaign plan:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>Campaign: Stop Bill 123 - Protect Clean Water
|
||
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>Goal: Generate 5,000 emails to provincial MPPs before second reading vote
|
||
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>Target audience: Ontario residents (all 124 ridings)
|
||
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>Timeline: 3 weeks (Feb 1-22)
|
||
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>Success metrics:
|
||
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>- 5,000+ emails sent
|
||
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>- 500+ response wall submissions
|
||
</span><span id="__span-0-8"><a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a>- 10% conversion rate (visitors → emails sent)
|
||
</span><span id="__span-0-9"><a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a>- 50% email delivery success rate
|
||
</span></code></pre></div>
|
||
<h3 id="understanding-your-target-audience">Understanding Your Target Audience<a class="headerlink" href="#understanding-your-target-audience" title="Permanent link">¶</a></h3>
|
||
<p><strong>Who are you trying to reach?</strong></p>
|
||
<p><strong>By government level:</strong></p>
|
||
<ul>
|
||
<li><strong>Federal campaigns</strong>: Target MPs (Members of Parliament)</li>
|
||
<li>Use for: National legislation, federal regulations, federal budgets</li>
|
||
<li>
|
||
<p>Example: "Urge your MP to support climate action"</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Provincial campaigns</strong>: Target MPPs/MLAs (provincial legislators)</p>
|
||
</li>
|
||
<li>Use for: Provincial laws, education, healthcare, transportation</li>
|
||
<li>
|
||
<p>Example: "Tell your MPP to fund public transit"</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Municipal campaigns</strong>: Target city councillors, mayors</p>
|
||
</li>
|
||
<li>Use for: Local zoning, development, city services</li>
|
||
<li>Example: "Ask your councillor to protect the park"</li>
|
||
</ul>
|
||
<p><strong>By geography:</strong></p>
|
||
<ul>
|
||
<li><strong>National</strong>: All postal codes</li>
|
||
<li><strong>Provincial</strong>: Specific province(s)</li>
|
||
<li><strong>Municipal</strong>: Specific city or ward</li>
|
||
<li><strong>Custom</strong>: Specific ridings or districts</li>
|
||
</ul>
|
||
<p><strong>By demographics</strong> (requires custom targeting):</p>
|
||
<ul>
|
||
<li>Age groups</li>
|
||
<li>Interests</li>
|
||
<li>Previous engagement</li>
|
||
</ul>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Representative Lookup</p>
|
||
<p>Changemaker Lite uses postal codes to look up representatives via the Represent API. Ensure your target government level has postal code coverage.</p>
|
||
</div>
|
||
<h3 id="crafting-your-message">Crafting Your Message<a class="headerlink" href="#crafting-your-message" title="Permanent link">¶</a></h3>
|
||
<p>Your campaign email is the core of your advocacy effort. It should be:</p>
|
||
<p><strong>1. Personal</strong></p>
|
||
<ul>
|
||
<li>Written in first person ("I am writing to...")</li>
|
||
<li>Uses resident's name and contact info</li>
|
||
<li>Mentions specific representative's name</li>
|
||
</ul>
|
||
<p><strong>2. Clear and Specific</strong></p>
|
||
<ul>
|
||
<li>States the ask in the first paragraph</li>
|
||
<li>References specific legislation (bill number, name)</li>
|
||
<li>Explains what you want the representative to do</li>
|
||
</ul>
|
||
<p><strong>3. Compelling</strong></p>
|
||
<ul>
|
||
<li>Explains why the issue matters</li>
|
||
<li>Uses facts and statistics (credibly sourced)</li>
|
||
<li>Includes emotional appeal (stories, impacts)</li>
|
||
</ul>
|
||
<p><strong>4. Actionable</strong></p>
|
||
<ul>
|
||
<li>Numbered list of specific requests</li>
|
||
<li>Clear deadline (if applicable)</li>
|
||
<li>Follow-up mechanism (reply, meeting, public statement)</li>
|
||
</ul>
|
||
<p><strong>5. Respectful</strong></p>
|
||
<ul>
|
||
<li>Professional tone</li>
|
||
<li>Acknowledges representative's position</li>
|
||
<li>Thanks them for considering your views</li>
|
||
</ul>
|
||
<p><strong>Example effective email:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>Subject: Vote YES on Bill C-234 to Support Family Farms
|
||
</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>
|
||
</span><span id="__span-1-3"><a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a>Dear [Representative Name],
|
||
</span><span id="__span-1-4"><a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a>
|
||
</span><span id="__span-1-5"><a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a>My name is [Your Name], and I am a constituent in [Riding]. I'm writing
|
||
</span><span id="__span-1-6"><a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a>to urge you to vote YES on Bill C-234, which would exempt farmers from
|
||
</span><span id="__span-1-7"><a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a>the carbon tax on natural gas and propane used for farming.
|
||
</span><span id="__span-1-8"><a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a>
|
||
</span><span id="__span-1-9"><a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a>Family farms are the backbone of our food system, yet they face rising
|
||
</span><span id="__span-1-10"><a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a>costs that threaten their viability. This bill would save farmers an
|
||
</span><span id="__span-1-11"><a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a>average of $14,000 per year, helping them stay in business and keep
|
||
</span><span id="__span-1-12"><a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a>food prices stable.
|
||
</span><span id="__span-1-13"><a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a>
|
||
</span><span id="__span-1-14"><a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a>I'm specifically asking you to:
|
||
</span><span id="__span-1-15"><a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a>1. Vote YES when Bill C-234 comes to the floor
|
||
</span><span id="__span-1-16"><a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a>2. Speak publicly in support of family farms
|
||
</span><span id="__span-1-17"><a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a>3. Oppose any amendments that weaken the bill
|
||
</span><span id="__span-1-18"><a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a>
|
||
</span><span id="__span-1-19"><a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a>Farming is already a low-margin business. Every dollar counts. Please
|
||
</span><span id="__span-1-20"><a id="__codelineno-1-20" name="__codelineno-1-20" href="#__codelineno-1-20"></a>support our farmers by supporting this bill.
|
||
</span><span id="__span-1-21"><a id="__codelineno-1-21" name="__codelineno-1-21" href="#__codelineno-1-21"></a>
|
||
</span><span id="__span-1-22"><a id="__codelineno-1-22" name="__codelineno-1-22" href="#__codelineno-1-22"></a>Thank you for considering my views. I look forward to hearing your
|
||
</span><span id="__span-1-23"><a id="__codelineno-1-23" name="__codelineno-1-23" href="#__codelineno-1-23"></a>position on this important issue.
|
||
</span><span id="__span-1-24"><a id="__codelineno-1-24" name="__codelineno-1-24" href="#__codelineno-1-24"></a>
|
||
</span><span id="__span-1-25"><a id="__codelineno-1-25" name="__codelineno-1-25" href="#__codelineno-1-25"></a>Sincerely,
|
||
</span><span id="__span-1-26"><a id="__codelineno-1-26" name="__codelineno-1-26" href="#__codelineno-1-26"></a>[Your Name]
|
||
</span><span id="__span-1-27"><a id="__codelineno-1-27" name="__codelineno-1-27" href="#__codelineno-1-27"></a>[Your Email]
|
||
</span><span id="__span-1-28"><a id="__codelineno-1-28" name="__codelineno-1-28" href="#__codelineno-1-28"></a>[Your Phone]
|
||
</span></code></pre></div>
|
||
<p><strong>What makes this email effective:</strong></p>
|
||
<ul>
|
||
<li>✅ Specific bill number (C-234)</li>
|
||
<li>✅ Clear ask (vote YES)</li>
|
||
<li>✅ Compelling reason (saves $14k/year)</li>
|
||
<li>✅ Numbered action items</li>
|
||
<li>✅ Respectful tone</li>
|
||
<li>✅ Personal voice</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="creating-a-campaign">Creating a Campaign<a class="headerlink" href="#creating-a-campaign" title="Permanent link">¶</a></h2>
|
||
<h3 id="basic-campaign-setup">Basic Campaign Setup<a class="headerlink" href="#basic-campaign-setup" title="Permanent link">¶</a></h3>
|
||
<p><strong>To create a new campaign:</strong></p>
|
||
<ol>
|
||
<li>Navigate to <strong>Influence > Campaigns</strong></li>
|
||
<li>Click <strong>"Create Campaign"</strong></li>
|
||
<li>Fill in the form (detailed below)</li>
|
||
<li>Click <strong>"Create"</strong></li>
|
||
</ol>
|
||
<p>Your campaign starts in DRAFT status (not published).</p>
|
||
<h3 id="campaign-fields">Campaign Fields<a class="headerlink" href="#campaign-fields" title="Permanent link">¶</a></h3>
|
||
<h4 id="title">Title<a class="headerlink" href="#title" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it is:</strong> Public-facing campaign name</p>
|
||
<p><strong>Best practices:</strong></p>
|
||
<ul>
|
||
<li>Keep it short (3-7 words)</li>
|
||
<li>Make it action-oriented</li>
|
||
<li>Include the issue/goal</li>
|
||
<li>Avoid jargon or acronyms</li>
|
||
</ul>
|
||
<p><strong>Examples:</strong></p>
|
||
<ul>
|
||
<li>✅ "Protect Our Forests from Logging"</li>
|
||
<li>✅ "Fund Public Transit Now"</li>
|
||
<li>✅ "Stop Bill 123"</li>
|
||
<li>❌ "Environmental Advocacy Initiative 2024" (too vague)</li>
|
||
<li>❌ "FPTA Campaign" (acronym unclear)</li>
|
||
</ul>
|
||
<h4 id="slug">Slug<a class="headerlink" href="#slug" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it is:</strong> URL-friendly identifier, auto-generated from title</p>
|
||
<p><strong>Format:</strong> lowercase, hyphens for spaces, no special characters</p>
|
||
<p><strong>Examples:</strong></p>
|
||
<ul>
|
||
<li>Title: "Protect Our Forests" → Slug: <code>protect-our-forests</code></li>
|
||
<li>Title: "Fund Public Transit" → Slug: <code>fund-public-transit</code></li>
|
||
</ul>
|
||
<p><strong>Used in URL:</strong> <code>https://yoursite.org/campaigns/protect-our-forests</code></p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Slug Uniqueness</p>
|
||
<p>Slugs must be unique. If you try to use a duplicate, the system will add a number (e.g., <code>protect-our-forests-2</code>).</p>
|
||
</div>
|
||
<h4 id="description">Description<a class="headerlink" href="#description" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it is:</strong> Campaign overview shown on listing page and campaign detail page</p>
|
||
<p><strong>Best practices:</strong></p>
|
||
<ul>
|
||
<li>2-3 sentences</li>
|
||
<li>Explain the issue briefly</li>
|
||
<li>Explain why it matters</li>
|
||
<li>Include call to action</li>
|
||
<li>HTML supported (bold, links, etc.)</li>
|
||
</ul>
|
||
<p><strong>Example:</strong></p>
|
||
<div class="language-html highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="p"><</span><span class="nt">p</span><span class="p">></span>Ancient forests in our region are being clear-cut at an alarming rate.
|
||
</span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>These forests provide habitat for endangered species, clean our air and
|
||
</span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a>water, and offer recreational spaces for our communities.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
||
</span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a>
|
||
</span><span id="__span-2-5"><a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="p"><</span><span class="nt">p</span><span class="p">><</span><span class="nt">strong</span><span class="p">></span>Tell your MPP to enact a moratorium on old-growth logging
|
||
</span><span id="__span-2-6"><a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a>until sustainable forestry practices are in place.<span class="p"></</span><span class="nt">strong</span><span class="p">></</span><span class="nt">p</span><span class="p">></span>
|
||
</span></code></pre></div>
|
||
<h4 id="government-level">Government Level<a class="headerlink" href="#government-level" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it is:</strong> Which level of government to target for representative lookup</p>
|
||
<p><strong>Options:</strong></p>
|
||
<ul>
|
||
<li><strong>FEDERAL</strong>: MPs (Members of Parliament)</li>
|
||
<li><strong>PROVINCIAL</strong>: MPPs/MLAs (provincial/territorial legislators)</li>
|
||
<li><strong>MUNICIPAL</strong>: City councillors, mayors</li>
|
||
</ul>
|
||
<p><strong>You can select multiple levels</strong> if your issue spans jurisdictions.</p>
|
||
<p><strong>Example scenarios:</strong></p>
|
||
<ul>
|
||
<li>Climate legislation → FEDERAL only</li>
|
||
<li>Education funding → PROVINCIAL only</li>
|
||
<li>Park development → MUNICIPAL only</li>
|
||
<li>Transit expansion → PROVINCIAL + MUNICIPAL (both levels involved)</li>
|
||
</ul>
|
||
<h4 id="email-subject">Email Subject<a class="headerlink" href="#email-subject" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it is:</strong> Subject line for emails citizens send to representatives</p>
|
||
<p><strong>Best practices:</strong></p>
|
||
<ul>
|
||
<li>Keep under 60 characters (avoids truncation)</li>
|
||
<li>Start with action verb (Support, Oppose, Protect, Fund)</li>
|
||
<li>Include specific bill/issue name</li>
|
||
<li>Use variables for personalization</li>
|
||
</ul>
|
||
<p><strong>Variables available:</strong></p>
|
||
<ul>
|
||
<li><code>{{USER_NAME}}</code> — Sender's name</li>
|
||
<li><code>{{REP_NAME}}</code> — Representative's name</li>
|
||
<li><code>{{REP_TITLE}}</code> — Representative's title (MP, MPP, Councillor)</li>
|
||
</ul>
|
||
<p><strong>Examples:</strong></p>
|
||
<ul>
|
||
<li>✅ "Please support Bill C-234 for family farms"</li>
|
||
<li>✅ "Vote YES on climate action legislation"</li>
|
||
<li>✅ "Oppose the proposed park development"</li>
|
||
<li>❌ "Your constituent has an important message for you" (too vague)</li>
|
||
<li>❌ "I am writing to express my concern about the environmental degradation..." (too long)</li>
|
||
</ul>
|
||
<h4 id="email-body">Email Body<a class="headerlink" href="#email-body" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it is:</strong> The email message template citizens send</p>
|
||
<p><strong>Structure:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>Greeting (uses {{REP_NAME}})
|
||
</span><span id="__span-3-2"><a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a>
|
||
</span><span id="__span-3-3"><a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a>Opening paragraph: Who I am, why I'm writing
|
||
</span><span id="__span-3-4"><a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a>
|
||
</span><span id="__span-3-5"><a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a>Body paragraphs: Issue explanation, impact, evidence
|
||
</span><span id="__span-3-6"><a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a>
|
||
</span><span id="__span-3-7"><a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a>Specific asks: Numbered list of actions
|
||
</span><span id="__span-3-8"><a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a>
|
||
</span><span id="__span-3-9"><a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a>Closing: Thank you, request for response
|
||
</span><span id="__span-3-10"><a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a>
|
||
</span><span id="__span-3-11"><a id="__codelineno-3-11" name="__codelineno-3-11" href="#__codelineno-3-11"></a>Signature (uses {{USER_NAME}}, {{USER_EMAIL}}, etc.)
|
||
</span><span id="__span-3-12"><a id="__codelineno-3-12" name="__codelineno-3-12" href="#__codelineno-3-12"></a>
|
||
</span><span id="__span-3-13"><a id="__codelineno-3-13" name="__codelineno-3-13" href="#__codelineno-3-13"></a>Optional: User's personal message ({{USER_MESSAGE}})
|
||
</span></code></pre></div>
|
||
<p><strong>Variables available:</strong></p>
|
||
<ul>
|
||
<li><code>{{USER_NAME}}</code> — Citizen's full name</li>
|
||
<li><code>{{USER_EMAIL}}</code> — Citizen's email</li>
|
||
<li><code>{{USER_PHONE}}</code> — Citizen's phone (if collected)</li>
|
||
<li><code>{{REP_NAME}}</code> — Representative's name</li>
|
||
<li><code>{{REP_EMAIL}}</code> — Representative's email</li>
|
||
<li><code>{{REP_TITLE}}</code> — Representative's title (MP, MPP, Councillor)</li>
|
||
<li><code>{{USER_MESSAGE}}</code> — Citizen's custom message (optional field on form)</li>
|
||
</ul>
|
||
<p><strong>Tips:</strong></p>
|
||
<ul>
|
||
<li>Use HTML editor for formatting (bold, lists, links)</li>
|
||
<li>Include <code>{{USER_MESSAGE}}</code> at the end so citizens can add personal stories</li>
|
||
<li>Keep base template to 200-400 words (short enough to read, detailed enough to be persuasive)</li>
|
||
<li>Preview before publishing (send test email to yourself)</li>
|
||
</ul>
|
||
<h4 id="cover-photo-optional">Cover Photo (Optional)<a class="headerlink" href="#cover-photo-optional" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it is:</strong> Image shown on campaign listing and detail pages</p>
|
||
<p><strong>Best practices:</strong></p>
|
||
<ul>
|
||
<li>Use high-quality image (at least 1200x630 px)</li>
|
||
<li>Relevant to issue (photo of forest for forestry campaign, etc.)</li>
|
||
<li>Not too busy (text overlays should be readable)</li>
|
||
<li>Use your own photos or Creative Commons licensed images</li>
|
||
</ul>
|
||
<p><strong>Upload:</strong> Provide URL to image (must host image externally or use media library)</p>
|
||
<hr />
|
||
<h2 id="configuring-feature-flags">Configuring Feature Flags<a class="headerlink" href="#configuring-feature-flags" title="Permanent link">¶</a></h2>
|
||
<p>Feature flags control campaign functionality. Here's a detailed guide on when to use each:</p>
|
||
<h3 id="core-feature-flags">Core Feature Flags<a class="headerlink" href="#core-feature-flags" title="Permanent link">¶</a></h3>
|
||
<h4 id="1-published">1. Published<a class="headerlink" href="#1-published" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Makes campaign visible on public listing page</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Campaign is ready to launch</li>
|
||
<li>✅ Email template is proofread and tested</li>
|
||
<li>✅ Representative lookup is working</li>
|
||
</ul>
|
||
<p><strong>When to disable:</strong></p>
|
||
<ul>
|
||
<li>❌ Campaign is still being built (draft)</li>
|
||
<li>❌ Campaign has ended (or use <code>disable_after_date</code>)</li>
|
||
<li>❌ Need to make changes (unpublish temporarily)</li>
|
||
</ul>
|
||
<div class="admonition warning">
|
||
<p class="admonition-title">Unpublishing</p>
|
||
<p>Unpublishing a campaign removes it from the public listing but preserves all data (emails sent, responses, etc.). The campaign page URL still works for anyone with a direct link.</p>
|
||
</div>
|
||
<h4 id="2-featured">2. Featured<a class="headerlink" href="#2-featured" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Displays campaign prominently at top of listing page</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Highest priority campaign</li>
|
||
<li>✅ Time-sensitive (vote happening soon)</li>
|
||
<li>✅ Major organizational focus</li>
|
||
</ul>
|
||
<p><strong>Best practices:</strong></p>
|
||
<ul>
|
||
<li>Limit to 2-3 featured campaigns</li>
|
||
<li>Rotate featured status based on priority</li>
|
||
<li>Feature new campaigns for first week to boost initial signups</li>
|
||
</ul>
|
||
<h4 id="3-has-response-wall">3. Has Response Wall<a class="headerlink" href="#3-has-response-wall" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Allows citizens to share personal stories publicly after emailing</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ You want to showcase public support</li>
|
||
<li>✅ You have capacity for moderation (unless auto-approve)</li>
|
||
<li>✅ Issue benefits from personal stories</li>
|
||
</ul>
|
||
<p><strong>When to disable:</strong></p>
|
||
<ul>
|
||
<li>❌ Privacy concerns (sensitive issues)</li>
|
||
<li>❌ No moderation capacity</li>
|
||
<li>❌ Campaign is purely about email volume (not stories)</li>
|
||
</ul>
|
||
<p><strong>Moderation required:</strong> Unless <code>auto_approve_responses</code> is enabled, all responses must be manually approved.</p>
|
||
<h3 id="advanced-feature-flags">Advanced Feature Flags<a class="headerlink" href="#advanced-feature-flags" title="Permanent link">¶</a></h3>
|
||
<h4 id="4-collect-phone-numbers">4. Collect Phone Numbers<a class="headerlink" href="#4-collect-phone-numbers" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Adds optional phone number field to campaign form</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Running a blended email + phone campaign</li>
|
||
<li>✅ Want to follow up with phone calls</li>
|
||
<li>✅ Building contact list for future outreach</li>
|
||
</ul>
|
||
<p><strong>When to disable:</strong></p>
|
||
<ul>
|
||
<li>❌ Privacy concerns (reduces conversion)</li>
|
||
<li>❌ No plan to use phone numbers</li>
|
||
</ul>
|
||
<p><strong>Data usage:</strong> Phone numbers are stored in campaign responses and visible to admins.</p>
|
||
<h4 id="5-track-calls">5. Track Calls<a class="headerlink" href="#5-track-calls" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Adds "I called my representative" button and tracks call attempts</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Running a call-in campaign</li>
|
||
<li>✅ Encouraging both emails and calls</li>
|
||
<li>✅ Want to track total contact attempts (emails + calls)</li>
|
||
</ul>
|
||
<p><strong>How it works:</strong></p>
|
||
<ul>
|
||
<li>After sending email, user sees "I also called" button</li>
|
||
<li>Clicking increments call counter</li>
|
||
<li>Calls tracked separately from emails</li>
|
||
</ul>
|
||
<h4 id="6-require-verification">6. Require Verification<a class="headerlink" href="#6-require-verification" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Sends verification email before recording email send</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Public campaigns (prevents spam)</li>
|
||
<li>✅ High-profile campaigns (media attention)</li>
|
||
<li>✅ Need accurate email counts</li>
|
||
</ul>
|
||
<p><strong>When to disable:</strong></p>
|
||
<ul>
|
||
<li>❌ Internal campaigns (trusted users only)</li>
|
||
<li>❌ Want to reduce friction (lowers completion rate by ~20%)</li>
|
||
</ul>
|
||
<p><strong>How it works:</strong></p>
|
||
<ol>
|
||
<li>User fills out form and clicks "Send"</li>
|
||
<li>System sends verification email</li>
|
||
<li>User clicks link in email</li>
|
||
<li>Email to representative is sent</li>
|
||
<li>Response is recorded</li>
|
||
</ol>
|
||
<div class="admonition tip">
|
||
<p class="admonition-title">Recommended</p>
|
||
<p>Enable verification for all public campaigns to prevent spam and ensure data quality.</p>
|
||
</div>
|
||
<h4 id="7-auto-approve-responses">7. Auto Approve Responses<a class="headerlink" href="#7-auto-approve-responses" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Response wall submissions appear immediately without moderation</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Trusted audience (members-only campaign)</li>
|
||
<li>✅ Low-risk issue (unlikely to attract trolls)</li>
|
||
<li>✅ No moderation capacity</li>
|
||
</ul>
|
||
<p><strong>When to disable:</strong></p>
|
||
<ul>
|
||
<li>❌ Public campaigns (risk of spam/abuse)</li>
|
||
<li>❌ Controversial issues (may attract hostile responses)</li>
|
||
<li>❌ Need quality control</li>
|
||
</ul>
|
||
<div class="admonition warning">
|
||
<p class="admonition-title">Moderation Recommended</p>
|
||
<p>Most public campaigns should NOT auto-approve. Manual moderation ensures quality and prevents abuse.</p>
|
||
</div>
|
||
<h4 id="8-allow-anonymous">8. Allow Anonymous<a class="headerlink" href="#8-allow-anonymous" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Citizens can send emails without creating an account</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Want to maximize participation</li>
|
||
<li>✅ Privacy-sensitive issue</li>
|
||
<li>✅ One-time campaign (no need to track individuals)</li>
|
||
</ul>
|
||
<p><strong>When to disable:</strong></p>
|
||
<ul>
|
||
<li>❌ Building supporter list (want account creation)</li>
|
||
<li>❌ Need to prevent duplicate submissions</li>
|
||
<li>❌ Want to track individual engagement over time</li>
|
||
</ul>
|
||
<p><strong>Trade-offs:</strong></p>
|
||
<ul>
|
||
<li>✅ Higher conversion (less friction)</li>
|
||
<li>❌ Cannot prevent duplicate emails from same person</li>
|
||
<li>❌ No account to re-engage supporters later</li>
|
||
</ul>
|
||
<h4 id="9-custom-recipients">9. Custom Recipients<a class="headerlink" href="#9-custom-recipients" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Override representative lookup and send to specific email addresses</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Targeting non-government decision-makers (corporate executives, university presidents)</li>
|
||
<li>✅ Representative lookup doesn't cover your target (small municipalities)</li>
|
||
<li>✅ Want to target specific individuals regardless of postal code</li>
|
||
</ul>
|
||
<p><strong>How to use:</strong></p>
|
||
<ol>
|
||
<li>Enable flag</li>
|
||
<li>Enter comma-separated email addresses in <code>custom_recipient_emails</code> field</li>
|
||
<li>Optionally enter custom recipient names in <code>custom_recipient_names</code> field</li>
|
||
</ol>
|
||
<p><strong>Example:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>custom_recipient_emails: ceo@corporation.com,president@university.edu
|
||
</span><span id="__span-4-2"><a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a>custom_recipient_names: CEO John Smith,University President Jane Doe
|
||
</span></code></pre></div>
|
||
<p>All emails will go to these addresses instead of postal code lookup.</p>
|
||
<h4 id="10-show-progress-bar">10. Show Progress Bar<a class="headerlink" href="#10-show-progress-bar" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Displays progress bar showing emails sent toward goal</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Have a specific email goal</li>
|
||
<li>✅ Want to motivate participation ("We're 75% to our goal!")</li>
|
||
<li>✅ Creating urgency</li>
|
||
</ul>
|
||
<p><strong>How to use:</strong></p>
|
||
<ol>
|
||
<li>Enable flag</li>
|
||
<li>Set <code>email_goal</code> field (e.g., 1000)</li>
|
||
<li>Progress bar appears on campaign page showing current count / goal</li>
|
||
</ol>
|
||
<p><strong>Example display:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>[=========> ] 734 / 1,000 emails sent (73%)
|
||
</span></code></pre></div>
|
||
<div class="admonition tip">
|
||
<p class="admonition-title">Set Realistic Goals</p>
|
||
<p>Research similar campaigns to set achievable goals. Falling short publicly can be demotivating.</p>
|
||
</div>
|
||
<h4 id="11-disable-after-date">11. Disable After Date<a class="headerlink" href="#11-disable-after-date" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Automatically unpublish campaign after specified date</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Time-sensitive campaign (vote deadline)</li>
|
||
<li>✅ Want campaign to auto-close</li>
|
||
<li>✅ Don't want to manually unpublish</li>
|
||
</ul>
|
||
<p><strong>How to use:</strong></p>
|
||
<ol>
|
||
<li>Enable flag</li>
|
||
<li>Set <code>disable_date</code> field (date picker)</li>
|
||
<li>Campaign automatically unpublishes at midnight on that date</li>
|
||
</ol>
|
||
<p><strong>Example:</strong></p>
|
||
<p>Legislative vote is March 15. Set <code>disable_date</code> to March 15, 2024. Campaign automatically closes that day.</p>
|
||
<h4 id="12-enable-comments">12. Enable Comments<a class="headerlink" href="#12-enable-comments" title="Permanent link">¶</a></h4>
|
||
<p><strong>What it does:</strong> Allows comments on response wall entries (discussion threads)</p>
|
||
<p><strong>When to enable:</strong></p>
|
||
<ul>
|
||
<li>✅ Want to encourage discussion</li>
|
||
<li>✅ Have moderation capacity for comments</li>
|
||
<li>✅ Building community</li>
|
||
</ul>
|
||
<p><strong>When to disable:</strong></p>
|
||
<ul>
|
||
<li>❌ No comment moderation capacity</li>
|
||
<li>❌ Risk of hostile/off-topic discussion</li>
|
||
<li>❌ Prefer clean, simple response wall</li>
|
||
</ul>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Experimental Feature</p>
|
||
<p>Comments require additional moderation. Consider carefully before enabling.</p>
|
||
</div>
|
||
<hr />
|
||
<h2 id="email-template-best-practices">Email Template Best Practices<a class="headerlink" href="#email-template-best-practices" title="Permanent link">¶</a></h2>
|
||
<h3 id="writing-effective-subject-lines">Writing Effective Subject Lines<a class="headerlink" href="#writing-effective-subject-lines" title="Permanent link">¶</a></h3>
|
||
<p><strong>Do:</strong></p>
|
||
<ul>
|
||
<li>✅ Keep under 60 characters</li>
|
||
<li>✅ Start with action verb (Vote, Support, Oppose, Protect)</li>
|
||
<li>✅ Include bill number or issue name</li>
|
||
<li>✅ Create urgency (if appropriate)</li>
|
||
</ul>
|
||
<p><strong>Don't:</strong></p>
|
||
<ul>
|
||
<li>❌ Use ALL CAPS (looks like spam)</li>
|
||
<li>❌ Use excessive punctuation (!!!)</li>
|
||
<li>❌ Make false claims or exaggerations</li>
|
||
<li>❌ Use clickbait ("You won't believe...")</li>
|
||
</ul>
|
||
<p><strong>Examples:</strong></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Good</th>
|
||
<th>Why</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>"Vote YES on Bill C-123 for climate action"</td>
|
||
<td>Clear, specific, action-oriented</td>
|
||
</tr>
|
||
<tr>
|
||
<td>"Support funding for public transit"</td>
|
||
<td>Simple, direct ask</td>
|
||
</tr>
|
||
<tr>
|
||
<td>"Protect our forests from logging"</td>
|
||
<td>Emotional appeal, clear issue</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Bad</th>
|
||
<th>Why</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>"URGENT: Read this NOW!!!"</td>
|
||
<td>Spammy, no substance</td>
|
||
</tr>
|
||
<tr>
|
||
<td>"About the issue we discussed"</td>
|
||
<td>Vague, no context</td>
|
||
</tr>
|
||
<tr>
|
||
<td>"I am writing to you regarding..."</td>
|
||
<td>Wordy, buries the lede</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h3 id="structuring-the-email-body">Structuring the Email Body<a class="headerlink" href="#structuring-the-email-body" title="Permanent link">¶</a></h3>
|
||
<p><strong>Recommended structure:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>1. Greeting
|
||
</span><span id="__span-6-2"><a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a> Dear {{REP_NAME}},
|
||
</span><span id="__span-6-3"><a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a>
|
||
</span><span id="__span-6-4"><a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a>2. Introduction (1 sentence)
|
||
</span><span id="__span-6-5"><a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a> Who you are, where you live
|
||
</span><span id="__span-6-6"><a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a>
|
||
</span><span id="__span-6-7"><a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a>3. Main ask (1 sentence)
|
||
</span><span id="__span-6-8"><a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a> What you want them to do
|
||
</span><span id="__span-6-9"><a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a>
|
||
</span><span id="__span-6-10"><a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a>4. Context (2-3 sentences)
|
||
</span><span id="__span-6-11"><a id="__codelineno-6-11" name="__codelineno-6-11" href="#__codelineno-6-11"></a> Why it matters, impact, urgency
|
||
</span><span id="__span-6-12"><a id="__codelineno-6-12" name="__codelineno-6-12" href="#__codelineno-6-12"></a>
|
||
</span><span id="__span-6-13"><a id="__codelineno-6-13" name="__codelineno-6-13" href="#__codelineno-6-13"></a>5. Evidence (2-3 sentences)
|
||
</span><span id="__span-6-14"><a id="__codelineno-6-14" name="__codelineno-6-14" href="#__codelineno-6-14"></a> Facts, statistics, expert opinions
|
||
</span><span id="__span-6-15"><a id="__codelineno-6-15" name="__codelineno-6-15" href="#__codelineno-6-15"></a>
|
||
</span><span id="__span-6-16"><a id="__codelineno-6-16" name="__codelineno-6-16" href="#__codelineno-6-16"></a>6. Specific actions (numbered list)
|
||
</span><span id="__span-6-17"><a id="__codelineno-6-17" name="__codelineno-6-17" href="#__codelineno-6-17"></a> Exactly what you want them to do
|
||
</span><span id="__span-6-18"><a id="__codelineno-6-18" name="__codelineno-6-18" href="#__codelineno-6-18"></a>
|
||
</span><span id="__span-6-19"><a id="__codelineno-6-19" name="__codelineno-6-19" href="#__codelineno-6-19"></a>7. Closing (1-2 sentences)
|
||
</span><span id="__span-6-20"><a id="__codelineno-6-20" name="__codelineno-6-20" href="#__codelineno-6-20"></a> Thank you, request for response
|
||
</span><span id="__span-6-21"><a id="__codelineno-6-21" name="__codelineno-6-21" href="#__codelineno-6-21"></a>
|
||
</span><span id="__span-6-22"><a id="__codelineno-6-22" name="__codelineno-6-22" href="#__codelineno-6-22"></a>8. Signature
|
||
</span><span id="__span-6-23"><a id="__codelineno-6-23" name="__codelineno-6-23" href="#__codelineno-6-23"></a> {{USER_NAME}}
|
||
</span><span id="__span-6-24"><a id="__codelineno-6-24" name="__codelineno-6-24" href="#__codelineno-6-24"></a> {{USER_EMAIL}}
|
||
</span><span id="__span-6-25"><a id="__codelineno-6-25" name="__codelineno-6-25" href="#__codelineno-6-25"></a>
|
||
</span><span id="__span-6-26"><a id="__codelineno-6-26" name="__codelineno-6-26" href="#__codelineno-6-26"></a>9. Personal message (optional)
|
||
</span><span id="__span-6-27"><a id="__codelineno-6-27" name="__codelineno-6-27" href="#__codelineno-6-27"></a> {{USER_MESSAGE}}
|
||
</span></code></pre></div>
|
||
<h3 id="using-variables-effectively">Using Variables Effectively<a class="headerlink" href="#using-variables-effectively" title="Permanent link">¶</a></h3>
|
||
<p><strong>Available variables:</strong></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Variable</th>
|
||
<th>Description</th>
|
||
<th>Example Output</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>{{USER_NAME}}</code></td>
|
||
<td>Sender's full name</td>
|
||
<td>"John Smith"</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>{{USER_EMAIL}}</code></td>
|
||
<td>Sender's email</td>
|
||
<td>"john@example.com"</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>{{USER_PHONE}}</code></td>
|
||
<td>Sender's phone</td>
|
||
<td>"555-1234"</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>{{REP_NAME}}</code></td>
|
||
<td>Representative's name</td>
|
||
<td>"Hon. Jane Doe"</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>{{REP_EMAIL}}</code></td>
|
||
<td>Representative's email</td>
|
||
<td>"jane.doe@parl.gc.ca"</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>{{REP_TITLE}}</code></td>
|
||
<td>Representative's title</td>
|
||
<td>"Member of Parliament"</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>{{USER_MESSAGE}}</code></td>
|
||
<td>Custom message</td>
|
||
<td>(whatever user typed)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><strong>Best practices:</strong></p>
|
||
<ol>
|
||
<li><strong>Always use {{REP_NAME}} in greeting</strong> — Personalizes email</li>
|
||
<li><strong>Include {{USER_NAME}} in signature</strong> — Shows it's from a real person</li>
|
||
<li><strong>Add {{USER_MESSAGE}} at end</strong> — Allows personalization</li>
|
||
<li><strong>Use {{REP_TITLE}} for variety</strong> — Avoid repeating "Member of Parliament"</li>
|
||
</ol>
|
||
<p><strong>Example usage:</strong></p>
|
||
<div class="language-html highlight"><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>Dear {{REP_NAME}},
|
||
</span><span id="__span-7-2"><a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a>
|
||
</span><span id="__span-7-3"><a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a>My name is {{USER_NAME}}, and I am a constituent in your riding. As a
|
||
</span><span id="__span-7-4"><a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a>{{REP_TITLE}}, you have the power to make a difference on this issue.
|
||
</span><span id="__span-7-5"><a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a>
|
||
</span><span id="__span-7-6"><a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a>[... campaign message ...]
|
||
</span><span id="__span-7-7"><a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a>
|
||
</span><span id="__span-7-8"><a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a>I look forward to hearing your position on this matter. You can reach me
|
||
</span><span id="__span-7-9"><a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a>at {{USER_EMAIL}}.
|
||
</span><span id="__span-7-10"><a id="__codelineno-7-10" name="__codelineno-7-10" href="#__codelineno-7-10"></a>
|
||
</span><span id="__span-7-11"><a id="__codelineno-7-11" name="__codelineno-7-11" href="#__codelineno-7-11"></a>Sincerely,
|
||
</span><span id="__span-7-12"><a id="__codelineno-7-12" name="__codelineno-7-12" href="#__codelineno-7-12"></a>{{USER_NAME}}
|
||
</span><span id="__span-7-13"><a id="__codelineno-7-13" name="__codelineno-7-13" href="#__codelineno-7-13"></a>
|
||
</span><span id="__span-7-14"><a id="__codelineno-7-14" name="__codelineno-7-14" href="#__codelineno-7-14"></a>---
|
||
</span><span id="__span-7-15"><a id="__codelineno-7-15" name="__codelineno-7-15" href="#__codelineno-7-15"></a>
|
||
</span><span id="__span-7-16"><a id="__codelineno-7-16" name="__codelineno-7-16" href="#__codelineno-7-16"></a>{{USER_MESSAGE}}
|
||
</span></code></pre></div>
|
||
<h3 id="html-formatting-tips">HTML Formatting Tips<a class="headerlink" href="#html-formatting-tips" title="Permanent link">¶</a></h3>
|
||
<p>The email editor supports HTML. Use formatting to improve readability:</p>
|
||
<p><strong>Headings:</strong></p>
|
||
<div class="language-html highlight"><pre><span></span><code><span id="__span-8-1"><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="p"><</span><span class="nt">h3</span><span class="p">></span>Why This Matters<span class="p"></</span><span class="nt">h3</span><span class="p">></span>
|
||
</span></code></pre></div>
|
||
<p><strong>Bold text:</strong></p>
|
||
<div class="language-html highlight"><pre><span></span><code><span id="__span-9-1"><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="p"><</span><span class="nt">strong</span><span class="p">></span>Vote YES on Bill C-123<span class="p"></</span><span class="nt">strong</span><span class="p">></span>
|
||
</span></code></pre></div>
|
||
<p><strong>Lists:</strong></p>
|
||
<div class="language-html highlight"><pre><span></span><code><span id="__span-10-1"><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="p"><</span><span class="nt">p</span><span class="p">></span>I'm asking you to:<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
||
</span><span id="__span-10-2"><a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="p"><</span><span class="nt">ol</span><span class="p">></span>
|
||
</span><span id="__span-10-3"><a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a> <span class="p"><</span><span class="nt">li</span><span class="p">></span>Vote YES when the bill comes to the floor<span class="p"></</span><span class="nt">li</span><span class="p">></span>
|
||
</span><span id="__span-10-4"><a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a> <span class="p"><</span><span class="nt">li</span><span class="p">></span>Speak publicly in support<span class="p"></</span><span class="nt">li</span><span class="p">></span>
|
||
</span><span id="__span-10-5"><a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a> <span class="p"><</span><span class="nt">li</span><span class="p">></span>Oppose weakening amendments<span class="p"></</span><span class="nt">li</span><span class="p">></span>
|
||
</span><span id="__span-10-6"><a id="__codelineno-10-6" name="__codelineno-10-6" href="#__codelineno-10-6"></a><span class="p"></</span><span class="nt">ol</span><span class="p">></span>
|
||
</span></code></pre></div>
|
||
<p><strong>Links:</strong></p>
|
||
<div class="language-html highlight"><pre><span></span><code><span id="__span-11-1"><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"https://example.com/research"</span><span class="p">></span>Read the full study here<span class="p"></</span><span class="nt">a</span><span class="p">></span>
|
||
</span></code></pre></div>
|
||
<p><strong>Line breaks:</strong></p>
|
||
<div class="language-html highlight"><pre><span></span><code><span id="__span-12-1"><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="p"><</span><span class="nt">p</span><span class="p">></span>First paragraph.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
||
</span><span id="__span-12-2"><a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="p"><</span><span class="nt">p</span><span class="p">></span>Second paragraph.<span class="p"></</span><span class="nt">p</span><span class="p">></span>
|
||
</span></code></pre></div>
|
||
<div class="admonition warning">
|
||
<p class="admonition-title">Email Client Compatibility</p>
|
||
<p>Avoid complex CSS or JavaScript. Stick to basic HTML tags (p, strong, em, ul, ol, a). Many email clients strip advanced formatting.</p>
|
||
</div>
|
||
<hr />
|
||
<h2 id="publishing-your-campaign">Publishing Your Campaign<a class="headerlink" href="#publishing-your-campaign" title="Permanent link">¶</a></h2>
|
||
<h3 id="pre-launch-checklist">Pre-Launch Checklist<a class="headerlink" href="#pre-launch-checklist" title="Permanent link">¶</a></h3>
|
||
<p>Before publishing, verify:</p>
|
||
<ul class="task-list">
|
||
<li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> <strong>Email template proofread</strong> — No typos, grammar errors</li>
|
||
<li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> <strong>Variables working</strong> — Test with your own postal code</li>
|
||
<li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> <strong>Representative lookup functional</strong> — Test multiple postal codes</li>
|
||
<li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> <strong>Feature flags configured</strong> — Review all 12 flags</li>
|
||
<li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> <strong>Cover photo uploaded</strong> — Image displays correctly</li>
|
||
<li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> <strong>Response wall ready</strong> — Moderation plan in place (if enabled)</li>
|
||
<li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> <strong>Email goal set</strong> — If using progress bar</li>
|
||
<li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> <strong>Disable date set</strong> — If time-sensitive campaign</li>
|
||
<li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> <strong>Test email sent</strong> — Send to yourself, verify formatting</li>
|
||
</ul>
|
||
<p><strong>To send a test email:</strong></p>
|
||
<ol>
|
||
<li>Edit the campaign</li>
|
||
<li>Scroll to email section</li>
|
||
<li>Click <strong>"Send Test Email"</strong></li>
|
||
<li>Enter your email address</li>
|
||
<li>Check your inbox</li>
|
||
</ol>
|
||
<p>The test email uses sample data for variables.</p>
|
||
<h3 id="publishing">Publishing<a class="headerlink" href="#publishing" title="Permanent link">¶</a></h3>
|
||
<p><strong>To publish:</strong></p>
|
||
<ol>
|
||
<li>Edit the campaign</li>
|
||
<li>Toggle <strong>"Published"</strong> flag to ON</li>
|
||
<li>Click <strong>"Save"</strong></li>
|
||
</ol>
|
||
<p>The campaign is now live at <code>/campaigns/[slug]</code>.</p>
|
||
<h3 id="promoting-your-campaign">Promoting Your Campaign<a class="headerlink" href="#promoting-your-campaign" title="Permanent link">¶</a></h3>
|
||
<p><strong>Promotion channels:</strong></p>
|
||
<ol>
|
||
<li><strong>Direct link</strong>: Share <code>https://yoursite.org/campaigns/protect-our-forests</code></li>
|
||
<li><strong>Email newsletter</strong>: Include in your regular newsletter</li>
|
||
<li><strong>Social media</strong>: Post on Facebook, Twitter, Instagram with link</li>
|
||
<li><strong>Website</strong>: Add to your main website's homepage or action page</li>
|
||
<li><strong>Partner organizations</strong>: Ask allies to share</li>
|
||
<li><strong>Earned media</strong>: Pitch to journalists, bloggers</li>
|
||
</ol>
|
||
<p><strong>Sample social media post:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-13-1"><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>🌲 Our forests are in danger. Tell your MPP to stop old-growth logging.
|
||
</span><span id="__span-13-2"><a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a>
|
||
</span><span id="__span-13-3"><a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a>📧 Send an email in under 2 minutes: [link]
|
||
</span><span id="__span-13-4"><a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a>
|
||
</span><span id="__span-13-5"><a id="__codelineno-13-5" name="__codelineno-13-5" href="#__codelineno-13-5"></a>So far, [X] people have taken action. Will you join them?
|
||
</span><span id="__span-13-6"><a id="__codelineno-13-6" name="__codelineno-13-6" href="#__codelineno-13-6"></a>
|
||
</span><span id="__span-13-7"><a id="__codelineno-13-7" name="__codelineno-13-7" href="#__codelineno-13-7"></a>#ProtectOurForests #ClimateAction
|
||
</span></code></pre></div>
|
||
<p><strong>Sample email newsletter:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-14-1"><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>Subject: Take Action: Protect Our Forests
|
||
</span><span id="__span-14-2"><a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a>
|
||
</span><span id="__span-14-3"><a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a>Hi [Name],
|
||
</span><span id="__span-14-4"><a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a>
|
||
</span><span id="__span-14-5"><a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a>Ancient forests in our region are being clear-cut at an alarming rate.
|
||
</span><span id="__span-14-6"><a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a>But we can stop this.
|
||
</span><span id="__span-14-7"><a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a>
|
||
</span><span id="__span-14-8"><a id="__codelineno-14-8" name="__codelineno-14-8" href="#__codelineno-14-8"></a>[Your MPP's name] has the power to enact a moratorium on old-growth
|
||
</span><span id="__span-14-9"><a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a>logging. We need you to tell them this matters to you.
|
||
</span><span id="__span-14-10"><a id="__codelineno-14-10" name="__codelineno-14-10" href="#__codelineno-14-10"></a>
|
||
</span><span id="__span-14-11"><a id="__codelineno-14-11" name="__codelineno-14-11" href="#__codelineno-14-11"></a>[CALL TO ACTION BUTTON: Send Your Email Now]
|
||
</span><span id="__span-14-12"><a id="__codelineno-14-12" name="__codelineno-14-12" href="#__codelineno-14-12"></a>
|
||
</span><span id="__span-14-13"><a id="__codelineno-14-13" name="__codelineno-14-13" href="#__codelineno-14-13"></a>It takes less than 2 minutes. Over [X] people have already sent emails.
|
||
</span><span id="__span-14-14"><a id="__codelineno-14-14" name="__codelineno-14-14" href="#__codelineno-14-14"></a>Together, we can make a difference.
|
||
</span><span id="__span-14-15"><a id="__codelineno-14-15" name="__codelineno-14-15" href="#__codelineno-14-15"></a>
|
||
</span><span id="__span-14-16"><a id="__codelineno-14-16" name="__codelineno-14-16" href="#__codelineno-14-16"></a>Thank you for taking action,
|
||
</span><span id="__span-14-17"><a id="__codelineno-14-17" name="__codelineno-14-17" href="#__codelineno-14-17"></a>[Your organization]
|
||
</span></code></pre></div>
|
||
<hr />
|
||
<h2 id="monitoring-performance">Monitoring Performance<a class="headerlink" href="#monitoring-performance" title="Permanent link">¶</a></h2>
|
||
<h3 id="campaign-email-statistics">Campaign Email Statistics<a class="headerlink" href="#campaign-email-statistics" title="Permanent link">¶</a></h3>
|
||
<p><strong>To view email stats:</strong></p>
|
||
<ol>
|
||
<li>Navigate to <strong>Influence > Campaigns</strong></li>
|
||
<li>Click <strong>"Emails"</strong> button for your campaign</li>
|
||
</ol>
|
||
<p>The drawer shows:</p>
|
||
<p><strong>Overall statistics:</strong></p>
|
||
<ul>
|
||
<li><strong>Total emails sent</strong>: All emails successfully delivered</li>
|
||
<li><strong>Emails waiting</strong>: Queued but not yet sent</li>
|
||
<li><strong>Failed emails</strong>: Delivery failures</li>
|
||
<li><strong>Success rate</strong>: Sent / (Sent + Failed)</li>
|
||
</ul>
|
||
<p><strong>Email list table:</strong></p>
|
||
<ul>
|
||
<li>Sender name and email</li>
|
||
<li>Recipient representative</li>
|
||
<li>Status (PENDING, SENT, FAILED)</li>
|
||
<li>Sent timestamp</li>
|
||
<li>Error message (if failed)</li>
|
||
</ul>
|
||
<p><strong>Screenshot placeholder</strong>: <em>Campaign Emails drawer showing statistics and email list</em></p>
|
||
<h3 id="understanding-email-status">Understanding Email Status<a class="headerlink" href="#understanding-email-status" title="Permanent link">¶</a></h3>
|
||
<p><strong>PENDING:</strong></p>
|
||
<ul>
|
||
<li>Email is queued for sending</li>
|
||
<li>Usually sent within minutes</li>
|
||
<li>If stuck for > 1 hour, check queue (see below)</li>
|
||
</ul>
|
||
<p><strong>SENT:</strong></p>
|
||
<ul>
|
||
<li>Email successfully delivered to representative</li>
|
||
<li>Does NOT guarantee representative read it (that's on them)</li>
|
||
</ul>
|
||
<p><strong>FAILED:</strong></p>
|
||
<ul>
|
||
<li>Email delivery failed</li>
|
||
<li>Common reasons:</li>
|
||
<li>Invalid recipient email (representative email wrong in database)</li>
|
||
<li>SMTP error (email server rejected)</li>
|
||
<li>Network timeout</li>
|
||
</ul>
|
||
<p><strong>Retry failed emails:</strong></p>
|
||
<ol>
|
||
<li>Click <strong>"Retry Failed"</strong> button</li>
|
||
<li>System re-queues failed emails</li>
|
||
<li>Check again in 10 minutes</li>
|
||
</ol>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Representative Emails</p>
|
||
<p>Representative email addresses come from the Represent API. If many emails fail to a specific representative, the database may be outdated. Contact Represent API maintainers.</p>
|
||
</div>
|
||
<h3 id="response-wall-statistics">Response Wall Statistics<a class="headerlink" href="#response-wall-statistics" title="Permanent link">¶</a></h3>
|
||
<p><strong>To view response wall stats:</strong></p>
|
||
<ol>
|
||
<li>Navigate to <strong>Influence > Responses</strong></li>
|
||
<li>Filter by your campaign</li>
|
||
</ol>
|
||
<p><strong>Metrics:</strong></p>
|
||
<ul>
|
||
<li><strong>Total responses</strong>: All submissions (approved + pending + rejected)</li>
|
||
<li><strong>Approved</strong>: Visible on public response wall</li>
|
||
<li><strong>Pending</strong>: Awaiting moderation</li>
|
||
<li><strong>Rejected</strong>: Hidden from public</li>
|
||
<li><strong>Upvotes</strong>: Total upvotes across all responses</li>
|
||
</ul>
|
||
<p><strong>Response rate:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-15-1"><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>Response rate = Responses / Emails sent
|
||
</span></code></pre></div>
|
||
<p><strong>Typical response rates:</strong></p>
|
||
<ul>
|
||
<li>5-10% — Good response rate</li>
|
||
<li>10-20% — Excellent response rate</li>
|
||
<li>< 5% — Low engagement (consider improving response wall CTA)</li>
|
||
</ul>
|
||
<h3 id="email-queue-health">Email Queue Health<a class="headerlink" href="#email-queue-health" title="Permanent link">¶</a></h3>
|
||
<p><strong>To monitor the queue:</strong></p>
|
||
<ol>
|
||
<li>Navigate to <strong>Influence > Email Queue</strong></li>
|
||
</ol>
|
||
<p><strong>Key metrics:</strong></p>
|
||
<ul>
|
||
<li><strong>Waiting</strong>: Emails in queue, not yet processing</li>
|
||
<li>Normal: < 50</li>
|
||
<li>Concerning: 50-200</li>
|
||
<li>
|
||
<p>Critical: > 200 (likely queue backup)</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Active</strong>: Emails currently being sent</p>
|
||
</li>
|
||
<li>
|
||
<p>Normal: 1-5 (concurrent workers)</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Completed</strong> (last 24 hours): Successfully sent</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Failed</strong>: Delivery failures</p>
|
||
</li>
|
||
<li>Normal: < 5% of sent</li>
|
||
<li>Concerning: 5-20%</li>
|
||
<li>Critical: > 20% (SMTP issue)</li>
|
||
</ul>
|
||
<p><strong>Queue controls:</strong></p>
|
||
<ul>
|
||
<li><strong>Pause Queue</strong>: Emergency stop (only use during SMTP issues)</li>
|
||
<li><strong>Resume Queue</strong>: Restart after pause</li>
|
||
<li><strong>Retry Failed</strong>: Re-queue all failed emails</li>
|
||
<li><strong>Clean Completed</strong>: Remove old completed jobs (frees memory)</li>
|
||
</ul>
|
||
<div class="admonition warning">
|
||
<p class="admonition-title">Queue Pausing</p>
|
||
<p>Only pause the queue if SMTP is broken or you're changing email configuration. Citizens expect immediate sends.</p>
|
||
</div>
|
||
<hr />
|
||
<h2 id="moderating-responses">Moderating Responses<a class="headerlink" href="#moderating-responses" title="Permanent link">¶</a></h2>
|
||
<h3 id="response-moderation-workflow">Response Moderation Workflow<a class="headerlink" href="#response-moderation-workflow" title="Permanent link">¶</a></h3>
|
||
<p><strong>To moderate responses:</strong></p>
|
||
<ol>
|
||
<li>Navigate to <strong>Influence > Responses</strong></li>
|
||
<li>Filter to <strong>Status: PENDING</strong></li>
|
||
<li>Review each response</li>
|
||
<li>Approve or reject</li>
|
||
</ol>
|
||
<p><strong>Moderation decisions:</strong></p>
|
||
<p><strong>Approve if:</strong></p>
|
||
<ul>
|
||
<li>✅ Authentic personal story</li>
|
||
<li>✅ Relates to campaign issue</li>
|
||
<li>✅ Respectful language</li>
|
||
<li>✅ Adds value to public conversation</li>
|
||
</ul>
|
||
<p><strong>Reject if:</strong></p>
|
||
<ul>
|
||
<li>❌ Spam or bot submission</li>
|
||
<li>❌ Profanity, hate speech, or harassment</li>
|
||
<li>❌ Off-topic or unrelated to campaign</li>
|
||
<li>❌ Contains personal information about others (privacy violation)</li>
|
||
<li>❌ Duplicate submission (approve one, reject others)</li>
|
||
</ul>
|
||
<p><strong>Delete if:</strong></p>
|
||
<ul>
|
||
<li>Illegal content</li>
|
||
<li>Severe harassment or threats</li>
|
||
<li>Privacy violation (doxxing)</li>
|
||
</ul>
|
||
<h3 id="reviewing-a-response">Reviewing a Response<a class="headerlink" href="#reviewing-a-response" title="Permanent link">¶</a></h3>
|
||
<p><strong>To review in detail:</strong></p>
|
||
<ol>
|
||
<li>Click <strong>"View"</strong> in Actions column</li>
|
||
<li>Read full response text</li>
|
||
<li>Check submitter info (name, email, timestamp)</li>
|
||
<li>Decide: Approve, Reject, or Delete</li>
|
||
</ol>
|
||
<p><strong>Response detail shows:</strong></p>
|
||
<ul>
|
||
<li>Full text of response</li>
|
||
<li>Submitter name and email (not public)</li>
|
||
<li>Submission timestamp</li>
|
||
<li>Associated campaign</li>
|
||
<li>Current status</li>
|
||
<li>Upvote count (if already approved)</li>
|
||
</ul>
|
||
<p><strong>Actions:</strong></p>
|
||
<ul>
|
||
<li><strong>Approve</strong>: Make public (appears on response wall)</li>
|
||
<li><strong>Reject</strong>: Hide from public (not deleted, can reverse later)</li>
|
||
<li><strong>Delete</strong>: Permanently remove (cannot undo)</li>
|
||
<li><strong>Edit</strong>: Fix typos or formatting (use sparingly)</li>
|
||
</ul>
|
||
<div class="admonition tip">
|
||
<p class="admonition-title">Editing Responses</p>
|
||
<p>Only edit responses to fix obvious typos or remove sensitive info (phone numbers, addresses). Don't change meaning.</p>
|
||
</div>
|
||
<h3 id="moderation-best-practices">Moderation Best Practices<a class="headerlink" href="#moderation-best-practices" title="Permanent link">¶</a></h3>
|
||
<p><strong>Speed matters:</strong></p>
|
||
<ul>
|
||
<li>Review pending responses daily (at minimum)</li>
|
||
<li>For time-sensitive campaigns, review 2-3x per day</li>
|
||
<li>Long moderation delays reduce participation (people won't share if they never see results)</li>
|
||
</ul>
|
||
<p><strong>Consistency:</strong></p>
|
||
<ul>
|
||
<li>Use same criteria for all responses</li>
|
||
<li>Document your moderation guidelines</li>
|
||
<li>If multiple moderators, ensure they're aligned</li>
|
||
</ul>
|
||
<p><strong>Encourage quality:</strong></p>
|
||
<ul>
|
||
<li>Spotlight particularly good responses (if feature available)</li>
|
||
<li>Share excellent responses on social media</li>
|
||
<li>Thank respondents for sharing their stories</li>
|
||
</ul>
|
||
<p><strong>Handle edge cases:</strong></p>
|
||
<ul>
|
||
<li><strong>Political/controversial</strong>: Allow diverse viewpoints as long as respectful</li>
|
||
<li><strong>Emotional language</strong>: Allow passion, reject profanity</li>
|
||
<li><strong>Minor inaccuracies</strong>: Approve (you're not fact-checking everything)</li>
|
||
<li><strong>Self-promotion</strong>: Reject if primary purpose is advertising</li>
|
||
</ul>
|
||
<h3 id="responding-to-moderation-issues">Responding to Moderation Issues<a class="headerlink" href="#responding-to-moderation-issues" title="Permanent link">¶</a></h3>
|
||
<p><strong>If you accidentally reject a good response:</strong></p>
|
||
<ol>
|
||
<li>Find the response in table</li>
|
||
<li>Change status from REJECTED to APPROVED</li>
|
||
<li>Response immediately appears on response wall</li>
|
||
</ol>
|
||
<p><strong>If inappropriate content slips through:</strong></p>
|
||
<ol>
|
||
<li>Find the response</li>
|
||
<li>Change status from APPROVED to REJECTED (or delete)</li>
|
||
<li>Response immediately removed from public view</li>
|
||
</ol>
|
||
<p><strong>If user complains about rejection:</strong></p>
|
||
<ol>
|
||
<li>Review the response again</li>
|
||
<li>If rejection was correct, explain your moderation policy</li>
|
||
<li>If rejection was incorrect, approve and apologize</li>
|
||
<li>Consider revising moderation guidelines to prevent future issues</li>
|
||
</ol>
|
||
<hr />
|
||
<h2 id="optimization-strategies">Optimization Strategies<a class="headerlink" href="#optimization-strategies" title="Permanent link">¶</a></h2>
|
||
<h3 id="improving-email-conversion-rates">Improving Email Conversion Rates<a class="headerlink" href="#improving-email-conversion-rates" title="Permanent link">¶</a></h3>
|
||
<p><strong>Conversion rate = Emails sent / Page visitors</strong></p>
|
||
<p><strong>Typical conversion rates:</strong></p>
|
||
<ul>
|
||
<li>5-10% — Average for advocacy campaigns</li>
|
||
<li>10-20% — Good (well-designed campaign)</li>
|
||
<li>20%+ — Excellent (highly motivated audience)</li>
|
||
</ul>
|
||
<p><strong>Tactics to improve conversion:</strong></p>
|
||
<h4 id="1-simplify-the-form">1. Simplify the Form<a class="headerlink" href="#1-simplify-the-form" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Remove optional fields (phone number, custom message)</li>
|
||
<li>Use postal code autofill</li>
|
||
<li>Pre-fill email for logged-in users</li>
|
||
</ul>
|
||
<h4 id="2-reduce-friction">2. Reduce Friction<a class="headerlink" href="#2-reduce-friction" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Disable email verification (if spam isn't an issue)</li>
|
||
<li>Allow anonymous submissions (no account required)</li>
|
||
<li>Use clear, simple language</li>
|
||
</ul>
|
||
<h4 id="3-strengthen-the-call-to-action">3. Strengthen the Call to Action<a class="headerlink" href="#3-strengthen-the-call-to-action" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Use large, prominent "Send Email" button</li>
|
||
<li>Add urgency ("Vote is tomorrow — act now!")</li>
|
||
<li>Show social proof ("Join 1,234 others who've sent emails")</li>
|
||
</ul>
|
||
<h4 id="4-improve-email-template">4. Improve Email Template<a class="headerlink" href="#4-improve-email-template" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Make it personal (use variables)</li>
|
||
<li>Keep it short (200-300 words)</li>
|
||
<li>Include specific ask (bill number, action)</li>
|
||
<li>Allow personalization ({{USER_MESSAGE}})</li>
|
||
</ul>
|
||
<h4 id="5-add-trust-signals">5. Add Trust Signals<a class="headerlink" href="#5-add-trust-signals" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Show organization logo</li>
|
||
<li>Display privacy policy link</li>
|
||
<li>Explain what happens after they send ("Your representative will receive this email within minutes")</li>
|
||
</ul>
|
||
<h3 id="ab-testing">A/B Testing<a class="headerlink" href="#ab-testing" title="Permanent link">¶</a></h3>
|
||
<p>Test different versions of your campaign to find what works best.</p>
|
||
<p><strong>Elements to test:</strong></p>
|
||
<ol>
|
||
<li><strong>Email subject line</strong></li>
|
||
<li>Action-oriented vs question</li>
|
||
<li>Include bill number vs generic</li>
|
||
<li>
|
||
<p>Urgent vs neutral tone</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Call to action</strong></p>
|
||
</li>
|
||
<li>"Send Email" vs "Take Action" vs "Email Your MP"</li>
|
||
<li>Button color (blue vs red vs green)</li>
|
||
<li>
|
||
<p>Button size</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Campaign description</strong></p>
|
||
</li>
|
||
<li>Short (1 sentence) vs detailed (3 paragraphs)</li>
|
||
<li>Emotional appeal vs factual</li>
|
||
<li>
|
||
<p>Include statistics vs stories</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Feature flags</strong></p>
|
||
</li>
|
||
<li>Email verification ON vs OFF</li>
|
||
<li>Response wall ON vs OFF</li>
|
||
<li>Progress bar ON vs OFF</li>
|
||
</ol>
|
||
<p><strong>How to A/B test:</strong></p>
|
||
<ol>
|
||
<li>Create two versions of the campaign (duplicate the campaign)</li>
|
||
<li>Change ONE variable (e.g., subject line)</li>
|
||
<li>Send 50% of traffic to each version (promote both equally)</li>
|
||
<li>After 100+ emails sent per version, compare conversion rates</li>
|
||
<li>Keep the winner, discard the loser</li>
|
||
</ol>
|
||
<p><strong>Sample A/B test:</strong></p>
|
||
<div class="language-text highlight"><pre><span></span><code><span id="__span-16-1"><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>Version A: Subject line "Support Bill C-123 for climate action"
|
||
</span><span id="__span-16-2"><a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a>Result: 100 emails sent from 1,000 visitors = 10% conversion
|
||
</span><span id="__span-16-3"><a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a>
|
||
</span><span id="__span-16-4"><a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a>Version B: Subject line "Vote YES on climate action — your MP is listening"
|
||
</span><span id="__span-16-5"><a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a>Result: 150 emails sent from 1,000 visitors = 15% conversion
|
||
</span><span id="__span-16-6"><a id="__codelineno-16-6" name="__codelineno-16-6" href="#__codelineno-16-6"></a>
|
||
</span><span id="__span-16-7"><a id="__codelineno-16-7" name="__codelineno-16-7" href="#__codelineno-16-7"></a>Winner: Version B (50% improvement)
|
||
</span><span id="__span-16-8"><a id="__codelineno-16-8" name="__codelineno-16-8" href="#__codelineno-16-8"></a>Action: Update Version A subject to match Version B
|
||
</span></code></pre></div>
|
||
<h3 id="encouraging-response-wall-participation">Encouraging Response Wall Participation<a class="headerlink" href="#encouraging-response-wall-participation" title="Permanent link">¶</a></h3>
|
||
<p><strong>Response wall benefits:</strong></p>
|
||
<ul>
|
||
<li>Shows public support visibly</li>
|
||
<li>Creates peer pressure ("If they can share, so can I")</li>
|
||
<li>Provides human stories for media and decision-makers</li>
|
||
</ul>
|
||
<p><strong>Tactics to increase responses:</strong></p>
|
||
<h4 id="1-highlight-the-response-wall">1. Highlight the Response Wall<a class="headerlink" href="#1-highlight-the-response-wall" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Add text after email send: "Share your story with the community"</li>
|
||
<li>Show recent responses on campaign page</li>
|
||
<li>Feature excellent responses on social media</li>
|
||
</ul>
|
||
<h4 id="2-reduce-friction_1">2. Reduce Friction<a class="headerlink" href="#2-reduce-friction_1" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Auto-approve responses (if audience is trusted)</li>
|
||
<li>Pre-fill response form with email content</li>
|
||
<li>Allow anonymous responses</li>
|
||
</ul>
|
||
<h4 id="3-provide-examples">3. Provide Examples<a class="headerlink" href="#3-provide-examples" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Seed the response wall with 3-5 initial responses (from staff/volunteers)</li>
|
||
<li>Show variety of response types (personal story, factual argument, emotional appeal)</li>
|
||
</ul>
|
||
<h4 id="4-incentivize-participation">4. Incentivize Participation<a class="headerlink" href="#4-incentivize-participation" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Run a contest (best response wins a prize)</li>
|
||
<li>Feature responses in newsletter</li>
|
||
<li>Invite top responders to speak at event</li>
|
||
</ul>
|
||
<h4 id="5-moderate-quickly">5. Moderate Quickly<a class="headerlink" href="#5-moderate-quickly" title="Permanent link">¶</a></h4>
|
||
<ul>
|
||
<li>Approve responses within hours (not days)</li>
|
||
<li>People won't share if they never see results</li>
|
||
</ul>
|
||
<h3 id="boosting-upvotes">Boosting Upvotes<a class="headerlink" href="#boosting-upvotes" title="Permanent link">¶</a></h3>
|
||
<p>Upvotes signal which responses resonate most with your community.</p>
|
||
<p><strong>Tactics:</strong></p>
|
||
<ol>
|
||
<li><strong>Make upvoting easy</strong>: One-click, no login required</li>
|
||
<li><strong>Show upvote counts</strong>: Create competition</li>
|
||
<li><strong>Promote top responses</strong>: Share high-upvote responses on social</li>
|
||
<li><strong>Create urgency</strong>: "Most upvoted response will be featured in our newsletter"</li>
|
||
</ol>
|
||
<hr />
|
||
<h2 id="reporting-and-analytics">Reporting and Analytics<a class="headerlink" href="#reporting-and-analytics" title="Permanent link">¶</a></h2>
|
||
<h3 id="campaign-performance-report">Campaign Performance Report<a class="headerlink" href="#campaign-performance-report" title="Permanent link">¶</a></h3>
|
||
<p><strong>Key metrics to track:</strong></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Metric</th>
|
||
<th>Formula</th>
|
||
<th>Benchmark</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>Total emails sent</strong></td>
|
||
<td>Count of SENT status</td>
|
||
<td>N/A (goal-dependent)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Conversion rate</strong></td>
|
||
<td>Emails / Page visitors</td>
|
||
<td>5-15%</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Response rate</strong></td>
|
||
<td>Responses / Emails sent</td>
|
||
<td>5-15%</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Upvote rate</strong></td>
|
||
<td>Upvotes / Responses</td>
|
||
<td>20-40%</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Email success rate</strong></td>
|
||
<td>SENT / (SENT + FAILED)</td>
|
||
<td>> 95%</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Avg time to send</strong></td>
|
||
<td>Queue wait time</td>
|
||
<td>< 5 minutes</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h3 id="exporting-data">Exporting Data<a class="headerlink" href="#exporting-data" title="Permanent link">¶</a></h3>
|
||
<p><strong>To export campaign data:</strong></p>
|
||
<ol>
|
||
<li>Navigate to <strong>Influence > Campaigns</strong></li>
|
||
<li>Click <strong>"Emails"</strong> for your campaign</li>
|
||
<li>Click <strong>"Export CSV"</strong></li>
|
||
</ol>
|
||
<p><strong>CSV includes:</strong></p>
|
||
<ul>
|
||
<li>Sender name and email</li>
|
||
<li>Recipient representative</li>
|
||
<li>Email sent timestamp</li>
|
||
<li>Status (SENT, FAILED, PENDING)</li>
|
||
<li>Error message (if failed)</li>
|
||
</ul>
|
||
<p><strong>Use cases:</strong></p>
|
||
<ul>
|
||
<li>Analyze email volume by date (chart over time)</li>
|
||
<li>Identify which representatives received most emails (top targets)</li>
|
||
<li>Follow up with failed sends</li>
|
||
<li>Import into CRM or email tool</li>
|
||
</ul>
|
||
<p><strong>Response wall export:</strong></p>
|
||
<ol>
|
||
<li>Navigate to <strong>Influence > Responses</strong></li>
|
||
<li>Filter by campaign</li>
|
||
<li>Click <strong>"Export CSV"</strong></li>
|
||
</ol>
|
||
<p><strong>CSV includes:</strong></p>
|
||
<ul>
|
||
<li>Respondent name and email</li>
|
||
<li>Response text</li>
|
||
<li>Submission date</li>
|
||
<li>Status (APPROVED, PENDING, REJECTED)</li>
|
||
<li>Upvote count</li>
|
||
</ul>
|
||
<p><strong>Use cases:</strong></p>
|
||
<ul>
|
||
<li>Analyze themes in responses (word cloud, sentiment analysis)</li>
|
||
<li>Share stories with media or decision-makers</li>
|
||
<li>Feature responses in reports or presentations</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="troubleshooting">Troubleshooting<a class="headerlink" href="#troubleshooting" title="Permanent link">¶</a></h2>
|
||
<h3 id="low-email-conversion-rate">Low Email Conversion Rate<a class="headerlink" href="#low-email-conversion-rate" title="Permanent link">¶</a></h3>
|
||
<p><strong>Symptoms:</strong> Few people sending emails despite high traffic</p>
|
||
<p><strong>Diagnostic questions:</strong></p>
|
||
<ol>
|
||
<li><strong>Is representative lookup working?</strong></li>
|
||
<li>Test with multiple postal codes</li>
|
||
<li>
|
||
<p>Check representative cache (Influence > Representatives)</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Is the form too complex?</strong></p>
|
||
</li>
|
||
<li>Remove optional fields</li>
|
||
<li>Simplify email template</li>
|
||
<li>
|
||
<p>Disable verification</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Is the call to action clear?</strong></p>
|
||
</li>
|
||
<li>Review campaign description</li>
|
||
<li>Check button text and prominence</li>
|
||
<li>
|
||
<p>Add urgency or social proof</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Is trust an issue?</strong></p>
|
||
</li>
|
||
<li>Add organization branding</li>
|
||
<li>Display privacy policy</li>
|
||
<li>Explain what happens after they send</li>
|
||
</ol>
|
||
<p><strong>Solutions:</strong></p>
|
||
<ul>
|
||
<li>A/B test simpler version</li>
|
||
<li>Add trust signals (logo, privacy link)</li>
|
||
<li>Reduce form fields</li>
|
||
<li>Strengthen CTA</li>
|
||
</ul>
|
||
<h3 id="low-response-wall-participation">Low Response Wall Participation<a class="headerlink" href="#low-response-wall-participation" title="Permanent link">¶</a></h3>
|
||
<p><strong>Symptoms:</strong> Emails being sent but few response wall submissions</p>
|
||
<p><strong>Possible causes:</strong></p>
|
||
<ol>
|
||
<li><strong>Response wall not prominent</strong></li>
|
||
<li>Add section on campaign page highlighting response wall</li>
|
||
<li>
|
||
<p>Show recent responses below email form</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Friction too high</strong></p>
|
||
</li>
|
||
<li>Require verification → people abandon</li>
|
||
<li>
|
||
<p>Long approval delay → people think it didn't work</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>No examples/social proof</strong></p>
|
||
</li>
|
||
<li>Empty response wall → people don't know what to share</li>
|
||
<li>Seed with initial responses</li>
|
||
</ol>
|
||
<p><strong>Solutions:</strong></p>
|
||
<ul>
|
||
<li>Auto-approve responses (if trusted audience)</li>
|
||
<li>Add examples/prompts ("Share why this issue matters to you")</li>
|
||
<li>Feature excellent responses on social media (encourages others)</li>
|
||
</ul>
|
||
<h3 id="emails-stuck-in-queue">Emails Stuck in Queue<a class="headerlink" href="#emails-stuck-in-queue" title="Permanent link">¶</a></h3>
|
||
<p><strong>Symptoms:</strong> Emails remain in PENDING status for > 1 hour</p>
|
||
<p><strong>Diagnostic steps:</strong></p>
|
||
<ol>
|
||
<li><strong>Check queue status</strong>: Influence > Email Queue</li>
|
||
<li><strong>Check SMTP configuration</strong>: Settings > Email Configuration</li>
|
||
<li><strong>Test email send</strong>: Settings > Send Test Email</li>
|
||
</ol>
|
||
<p><strong>Common causes:</strong></p>
|
||
<ol>
|
||
<li><strong>Queue worker not running</strong></li>
|
||
<li>Contact system administrator</li>
|
||
<li>
|
||
<p>Restart api service</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>SMTP credentials wrong</strong></p>
|
||
</li>
|
||
<li>Verify username/password in Settings</li>
|
||
<li>
|
||
<p>Send test email to verify</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>SMTP server rejecting</strong></p>
|
||
</li>
|
||
<li>Check spam/rate limits on SMTP server</li>
|
||
<li>
|
||
<p>Contact email service provider</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Network issue</strong></p>
|
||
</li>
|
||
<li>Check API server connectivity</li>
|
||
<li>Try different SMTP provider</li>
|
||
</ol>
|
||
<p><strong>Emergency solution:</strong></p>
|
||
<ul>
|
||
<li>If queue is badly backed up, pause queue</li>
|
||
<li>Fix SMTP issue</li>
|
||
<li>Resume queue</li>
|
||
<li>Retry failed</li>
|
||
</ul>
|
||
<h3 id="high-email-failure-rate">High Email Failure Rate<a class="headerlink" href="#high-email-failure-rate" title="Permanent link">¶</a></h3>
|
||
<p><strong>Symptoms:</strong> Many emails with FAILED status</p>
|
||
<p><strong>Check error messages:</strong></p>
|
||
<ol>
|
||
<li><strong>"Invalid recipient email"</strong></li>
|
||
<li>Representative email is wrong in database</li>
|
||
<li>Contact Represent API maintainers</li>
|
||
<li>
|
||
<p>Use custom recipients as workaround</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>"SMTP authentication failed"</strong></p>
|
||
</li>
|
||
<li>Wrong SMTP username/password</li>
|
||
<li>
|
||
<p>Update in Settings > Email Configuration</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>"Connection timeout"</strong></p>
|
||
</li>
|
||
<li>Network issue between API server and SMTP</li>
|
||
<li>
|
||
<p>Contact system administrator</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>"Mailbox full"</strong></p>
|
||
</li>
|
||
<li>Representative's email inbox is full</li>
|
||
<li>
|
||
<p>Nothing you can do (contact representative's office)</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>"Spam filter rejected"</strong></p>
|
||
</li>
|
||
<li>Email looks like spam</li>
|
||
<li>Revise email template (less spammy language)</li>
|
||
<li>Contact SMTP provider about reputation</li>
|
||
</ol>
|
||
<p><strong>Solutions:</strong></p>
|
||
<ul>
|
||
<li>Fix SMTP configuration</li>
|
||
<li>Update representative emails</li>
|
||
<li>Retry failed emails after fixing</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="related-documentation">Related Documentation<a class="headerlink" href="#related-documentation" title="Permanent link">¶</a></h2>
|
||
<ul>
|
||
<li><strong><a href="../admin-guide/">Admin Guide</a></strong>: Full administrator guide (includes campaign management)</li>
|
||
<li><strong><a href="../features/influence.md">Influence Module</a></strong>: Technical documentation on campaigns and email system</li>
|
||
<li><strong><a href="../features/email-queue.md">Email Queue</a></strong>: BullMQ queue technical details</li>
|
||
<li><strong><a href="../features/response-wall.md">Response Wall</a></strong>: Response moderation and upvoting</li>
|
||
<li><strong><a href="../api/influence.md">API Reference</a></strong>: Influence API endpoints</li>
|
||
</ul>
|
||
<hr />
|
||
<p><strong>Last updated</strong>: February 2026 (V2 complete)</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</article>
|
||
</div>
|
||
|
||
|
||
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
||
</div>
|
||
|
||
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
|
||
Back to top
|
||
</button>
|
||
|
||
</main>
|
||
|
||
<footer class="md-footer">
|
||
|
||
|
||
|
||
<nav class="md-footer__inner md-grid" aria-label="Footer" >
|
||
|
||
|
||
<a href="../admin-guide/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Admin Guide">
|
||
<div class="md-footer__button md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
||
</div>
|
||
<div class="md-footer__title">
|
||
<span class="md-footer__direction">
|
||
Previous
|
||
</span>
|
||
<div class="md-ellipsis">
|
||
Admin Guide
|
||
</div>
|
||
</div>
|
||
</a>
|
||
|
||
|
||
|
||
<a href="../map-organizer-guide/" class="md-footer__link md-footer__link--next" aria-label="Next: Map Organizer Guide">
|
||
<div class="md-footer__title">
|
||
<span class="md-footer__direction">
|
||
Next
|
||
</span>
|
||
<div class="md-ellipsis">
|
||
Map Organizer Guide
|
||
</div>
|
||
</div>
|
||
<div class="md-footer__button md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
|
||
</div>
|
||
</a>
|
||
|
||
</nav>
|
||
|
||
|
||
<div class="md-footer-meta md-typeset">
|
||
<div class="md-footer-meta__inner md-grid">
|
||
<div class="md-copyright">
|
||
|
||
<div class="md-copyright__highlight">
|
||
Copyright © 2024 The Bunker Operations – <a href="#__consent">Change cookie settings</a>
|
||
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<div class="md-social">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="https://gitea.bnkops.com/admin" target="_blank" rel="noopener" title="Gitea Repository" class="md-social__link">
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
||
</a>
|
||
|
||
|
||
|
||
|
||
|
||
<a href="https://listmonk.bnkops.com/subscription/form" target="_blank" rel="noopener" title="Newsletter" class="md-social__link">
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M536.4-26.3c9.8-3.5 20.6-1 28 6.3s9.8 18.2 6.3 28l-178 496.9c-5 13.9-18.1 23.1-32.8 23.1-14.2 0-27-8.6-32.3-21.7l-64.2-158c-4.5-11-2.5-23.6 5.2-32.6l94.5-112.4c5.1-6.1 4.7-15-.9-20.6s-14.6-6-20.6-.9l-112.4 94.3c-9.1 7.6-21.6 9.6-32.6 5.2L38.1 216.8c-13.1-5.3-21.7-18.1-21.7-32.3 0-14.7 9.2-27.8 23.1-32.8z"/></svg>
|
||
</a>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
</div>
|
||
<div class="md-dialog" data-md-component="dialog">
|
||
<div class="md-dialog__inner md-typeset"></div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
<script id="__config" type="application/json">{"annotate": null, "base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.expand", "navigation.footer", "navigation.indexes", "navigation.path", "navigation.prune", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "navigation.tracking", "search.highlight", "search.share", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
|
||
|
||
|
||
<script src="../../../assets/javascripts/bundle.79ae519e.min.js"></script>
|
||
|
||
<script src="../../../javascripts/home.js"></script>
|
||
|
||
<script src="../../../javascripts/github-widget.js"></script>
|
||
|
||
<script src="../../../javascripts/gitea-widget.js"></script>
|
||
|
||
<script src="../../../assets/js/env-config.js"></script>
|
||
|
||
<script src="../../../assets/js/video-player.js"></script>
|
||
|
||
|
||
</body>
|
||
</html> |