@for (counter of counters; track counter.label) {
{{ counter.label }}
{{ counter.value }}
= 0 ? 'up' : 'down'"
>
{{ counter.deltaPct > 0 ? '+' : '' }}{{ counter.deltaPct }}%
}
@switch (activePanel()) {
@case ('sequences') {
@if (selectedSequence(); as sequence) {
{{ sequence.name }}
{{ sequence.audience }}
Steps
@for (step of sequence.steps; track step.order) {
{{ step.order }}
{{ step.template }}
{{ step.after }} · {{ step.channel }}
only if: {{ step.onlyIf }}
@if (step.sent > 0) {
{{ step.sent.toLocaleString() }} sent ·
{{ replyRate(step.sent, step.replied) }}% replied
}
}
{{ sequence.note }}
} @else {
Select a sequence.
}
}
@case ('attribution') {
@if (selectedSource(); as row) {
{{ row.source }}
{{ row.channel }}
Contribution
0 ? '$' + row.spend.toLocaleString() : 'none'"
/>
Across all sources
Assisted conversions are counted once, on the closing source. This
column exists to show contribution, not to add revenue twice.
Campaign-level ROI
} @else {
Select a source.
}
}
@case ('content') {
@if (selectedElement(); as element) {
{{ element.label }}
{{ element.kind }}
Read
{{ element.verdict }}
Edit content elements
} @else {
Select an element.
}
}
@case ('experiments') {
@if (selectedExperiment(); as experiment) {
{{ experiment.name }}
{{ experiment.hypothesis }}
Variants
@for (variant of experiment.variants; track variant.name) {
{{ variant.name }}
{{ variant.sent.toLocaleString() }} sent ·
{{ variantConversion(variant.sent, variant.converted) }}% converted
{{ variant.optedOut }} opted out
}
Verdict
@if (isCalled(experiment)) {
} @else {
No winner is shown. The difference here is inside the noise.
}
{{ experiment.note }}
} @else {
Select an experiment.
}
}
}