Last Updated June 8, 2026
The Hierarchy of Effects is a communication response framework that explains how audiences may move from basic awareness to understanding, attitude formation, preference, conviction, and action. Rather than treating communication as an immediate trigger, it treats response as a staged process. A person usually does not encounter a message and move instantly to commitment. They notice, interpret, evaluate, compare, trust, decide, and act over time.
In content frameworks, hierarchy-of-effects thinking matters because it helps editors and strategists distinguish exposure from understanding, understanding from attitude, attitude from intention, and intention from behavior. A page may generate traffic without creating knowledge. A campaign may create liking without producing trust. A message may create intention without supporting action. Communication response models help diagnose where the sequence is working, where it breaks, and what kind of content support is needed at each stage.

This article examines the Hierarchy of Effects and related communication response models as frameworks for audience movement, message sequencing, stage diagnosis, content planning, measurement, and ethical communication. It explains how cognitive, affective, and behavioral stages shape response over time. It also shows how hierarchy-of-effects models differ from AIDA, PAS, BAB, 5W1H, funnel models, buyer journeys, and generic conversion paths. The article includes advanced Python and R workflows for response-stage audits, stage-balance scoring, content-support mapping, evidence review, ethical-risk checks, and governance-ready communication reports.
Why Hierarchy of Effects Matters
Hierarchy-of-effects thinking matters because communication rarely works as a single-step event. A person may see a message without understanding it. They may understand it without trusting it. They may trust it without preferring it. They may prefer it without acting. They may act once without continuing, sharing, learning, or adopting. Response unfolds through layers.
This matters for editorial systems because different content types support different stages. A headline may create awareness. A definition may build knowledge. A comparison table may support preference. A case study may build trust. A checklist may support action. A follow-up guide may support confirmation. If every content asset is judged only by immediate conversion, earlier and later stages are misunderstood.
Hierarchy-of-effects models also help diagnose communication failure. If audiences do not act, the problem may not be the call to action. It may be weak awareness, poor comprehension, missing evidence, low trust, unclear relevance, weak preference, or insufficient implementation support. The model helps ask where the response pathway is breaking.
| Communication issue | Hierarchy-of-effects diagnosis | Content-system response |
|---|---|---|
| People are not entering the content pathway. | Awareness or attention is weak. | Improve titles, excerpts, internal links, search snippets, and orientation. |
| People visit but do not understand the topic. | Knowledge support is weak. | Add definitions, examples, diagrams, and explanatory scaffolding. |
| People understand but remain unconvinced. | Evaluation, trust, or evidence support is weak. | Strengthen references, comparisons, case evidence, and limitation notes. |
| People agree but do not act. | Action support is unclear or too difficult. | Add practical steps, calls to action, implementation guidance, and next links. |
| People act once but do not continue. | Follow-through, confirmation, or maintenance support is missing. | Add onboarding, revision loops, feedback systems, and review pathways. |
The framework helps content teams see communication as staged support rather than isolated output.
What Hierarchy of Effects Is
The Hierarchy of Effects is a communication model that organizes audience response into stages. The best-known marketing version moves from awareness to knowledge, liking, preference, conviction, and purchase. The broader logic is that audiences move through cognitive, affective, and behavioral responses before durable action becomes likely.
Cognitive stages involve noticing, recognizing, understanding, and remembering. Affective stages involve liking, evaluation, preference, trust, identification, and emotional response. Behavioral stages involve intention, action, adoption, use, repetition, recommendation, or follow-through.
The hierarchy is not a law. It is a model. Audiences do not always move through stages in the same order. Some people act first and evaluate later. Some already know the topic before they encounter the message. Some skip stages, loop backward, or require repeated exposure. Even so, the model is useful because it helps writers identify different forms of response.
| Stage type | Core response | Communication question |
|---|---|---|
| Cognitive | Awareness, attention, knowledge, comprehension, memory. | Does the audience know what this is and understand it? |
| Affective | Liking, trust, preference, relevance, emotional evaluation. | Does the audience value, trust, or prefer this? |
| Behavioral | Intention, action, adoption, purchase, participation, follow-through. | Can the audience act, continue, or apply what is being communicated? |
The Hierarchy of Effects is useful because it separates different response outcomes that are often collapsed into one vague goal: engagement.
Communication Response Models
Communication response models describe how audiences process, evaluate, and respond to messages. Some models emphasize persuasion. Some emphasize information processing. Some emphasize adoption, learning, diffusion, or behavior change. They differ in vocabulary, but many share a basic insight: response usually develops through stages.
AIDA emphasizes attention, interest, desire, and action. The classic Hierarchy of Effects emphasizes awareness, knowledge, liking, preference, conviction, and purchase. Innovation-adoption models emphasize knowledge, persuasion, decision, implementation, and confirmation. Communication-persuasion models often distinguish exposure, attention, comprehension, yielding, retention, and behavior.
These models are not interchangeable, but they can be compared. Each highlights different parts of audience movement. A content strategist can use them to decide whether a page should build awareness, explain knowledge, support evaluation, reduce uncertainty, guide action, or support continued use.
| Model family | Primary concern | Useful for |
|---|---|---|
| Hierarchy of Effects | Movement from awareness and knowledge to preference, conviction, and action. | Campaign planning, content sequencing, stage diagnostics, measurement design. |
| AIDA | Persuasive movement from attention to action. | Landing pages, calls to action, introductions, campaign copy. |
| PAS / BAB | Tension, transformation, and path-forward structure. | Problem framing, transformation messaging, bridge logic. |
| Communication-persuasion matrix | Message inputs and audience response outputs. | Health communication, public communication, campaign testing. |
| Innovation adoption | Movement from knowledge to persuasion, decision, implementation, and confirmation. | Technology adoption, policy adoption, organizational change, public uptake. |
Response models are useful when they help clarify what kind of audience change a message is designed to support.
Core Functions of Hierarchy-of-Effects Thinking
Hierarchy-of-effects thinking helps content systems organize communication around staged audience response rather than isolated content outputs.
It separates response types
The framework distinguishes awareness, understanding, attitude, preference, intention, action, and follow-through.
It improves content sequencing
It helps editors place orientation, explanation, evidence, comparison, action, and support content in a meaningful order.
It diagnoses stage gaps
When audiences do not act, the framework helps identify whether the missing support is cognitive, affective, or behavioral.
It supports measurement design
Different stages require different indicators, such as reach, comprehension, trust, preference, intent, action, and retention.
It improves audience fit
Different audiences may enter the sequence at different levels of awareness, trust, knowledge, or readiness.
It supports ethical review
Response modeling can be audited for pressure, manipulation, overclaiming, privacy risk, and conversion bias.
It strengthens editorial governance
Stage records can support content audits, revision queues, metadata, measurement plans, and publication readiness checks.
These functions make response models useful beyond advertising. They help explain how content supports movement through knowledge, judgment, and action.
Cognitive Response: Awareness, Attention, and Knowledge
Cognitive response is the first layer of many hierarchy-of-effects models. It concerns whether the audience notices, recognizes, understands, and remembers the message. Before someone can evaluate an idea, they usually need some orientation to what it is.
In content systems, cognitive support includes titles, excerpts, definitions, summaries, diagrams, introductory sections, article maps, navigation labels, internal links, metadata, and search snippets. These elements help people identify the topic and build a basic mental model.
Cognitive response should not be treated as superficial. Awareness without understanding is fragile. Traffic without comprehension is not meaningful learning. A reader may arrive at a page, skim, and leave because the topic is not oriented clearly enough.
| Cognitive response | Content support | Review question |
|---|---|---|
| Awareness | Title, excerpt, visual, search snippet, headline, social preview. | Can the audience recognize that the topic exists and matters? |
| Attention | Opening paragraph, relevant problem framing, clear visual hierarchy. | Does the content invite continued engagement without exaggeration? |
| Knowledge | Definitions, context sections, examples, basic explanations. | Does the audience understand the core idea? |
| Comprehension | Tables, diagrams, comparisons, methods, explanations, internal links. | Can the audience explain the idea accurately? |
| Memory | Structure, repetition, headings, summaries, reusable frameworks. | Will the audience retain the useful structure? |
The cognitive stage asks whether content makes the subject understandable before asking the audience to evaluate or act.
Affective Response: Liking, Preference, Trust, and Evaluation
Affective response concerns how the audience evaluates the message. This includes liking, relevance, trust, preference, identification, confidence, concern, curiosity, skepticism, or emotional response. In communication response models, affective stages connect knowledge to judgment.
Affective response does not mean emotional manipulation. It means the audience forms an attitude toward the idea, product, policy, method, organization, or content pathway. A reader may understand a framework but not trust it. They may understand a policy but dislike its tradeoffs. They may recognize an article series but not see why it is relevant to them.
Content can support affective response through evidence, credibility, tone, examples, transparency, fair comparison, limitation notes, ethical framing, visual design, and alignment with audience need. Trust is especially important in knowledge systems. Readers need to believe that the content is accurate, fair, useful, and maintained.
| Affective response | Content support | Risk if missing |
|---|---|---|
| Liking | Clear tone, approachable structure, useful examples. | The audience understands but does not feel drawn to continue. |
| Relevance | Audience context, use cases, problem fit, practical stakes. | The audience sees the idea as abstract or unrelated. |
| Trust | Evidence, references, transparency, authorial accountability. | The audience doubts the claims or source. |
| Preference | Comparison, tradeoffs, differentiated value, fit language. | The audience cannot choose among alternatives. |
| Confidence | Examples, implementation guidance, limitations, support pathways. | The audience may agree but not feel ready to proceed. |
Affective response is where communication becomes evaluation. It is the bridge between knowing and choosing.
Behavioral Response: Conviction, Intention, Action, and Follow-Through
Behavioral response concerns what the audience does. This may include clicking, subscribing, purchasing, registering, donating, applying a method, reading the next article, adopting a practice, changing a workflow, joining a public process, sharing a resource, or returning for continued learning.
In the classic hierarchy, behavioral movement is often represented through conviction and purchase. In broader content frameworks, behavior may mean much more than purchase. It can include learning, implementation, participation, revision, civic engagement, professional adoption, or continued inquiry.
Behavioral response requires support. A person may intend to act but fail because the next step is unclear, the action is too difficult, the path is inaccessible, the commitment is hidden, or the promised outcome is not credible. Calls to action should therefore be treated as response supports, not commands.
| Behavioral response | Content support | Review question |
|---|---|---|
| Conviction | Evidence, examples, comparison, clear rationale, trust signals. | Does the audience have enough confidence to proceed? |
| Intention | Specific next step, practical fit, timing, relevance. | Does the audience know what they might do? |
| Action | CTA, form, download, navigation, workflow, guide, contact point. | Can the audience act without confusion? |
| Adoption | Onboarding, documentation, support, examples, implementation pathway. | Can the audience use the idea or method over time? |
| Follow-through | Feedback, reminders, revision loops, learning pathways, governance. | Can the action become durable understanding or practice? |
Behavioral response is not just the final click. It includes whether the action is understandable, feasible, and supported after the moment of response.
The Classic Awareness-to-Purchase Sequence
The classic hierarchy-of-effects sequence is often expressed as awareness, knowledge, liking, preference, conviction, and purchase. This sequence has been especially influential in advertising and marketing because it connects communication objectives to different stages of audience response.
The sequence can be generalized beyond purchase. Awareness may become recognition of an issue. Knowledge may become understanding. Liking may become receptivity. Preference may become comparison or prioritization. Conviction may become confidence. Purchase may become action, adoption, participation, or application.
| Classic stage | Generalized meaning | Content-framework application |
|---|---|---|
| Awareness | The audience becomes aware of the idea, issue, resource, or offer. | Titles, excerpts, search visibility, internal links, article maps. |
| Knowledge | The audience understands basic meaning and context. | Definitions, introductions, explainers, examples, diagrams. |
| Liking | The audience responds positively or becomes receptive. | Tone, clarity, usefulness, visual coherence, humane framing. |
| Preference | The audience compares alternatives and sees relative fit. | Comparison tables, criteria, tradeoffs, use cases. |
| Conviction | The audience develops confidence or intention. | Evidence, case support, limitations, transparent claims. |
| Purchase / Action | The audience takes a next step. | CTA, repository link, download, next article, method application, registration. |
The classic sequence is most useful when it is interpreted flexibly and responsibly. Not every content system is selling something, but nearly every content system supports some form of response.
Comparing Response Models
Communication response models can be compared by the kinds of movement they emphasize. Some models emphasize persuasion and action. Others emphasize comprehension, attitude, adoption, or behavior change. Content frameworks can draw from multiple models, but they should not combine them mechanically.
A strong model comparison asks which response problem is being solved. Is the audience unaware? Confused? Skeptical? Interested but unconvinced? Convinced but inactive? Active once but not retained? Each condition requires a different kind of content support.
| Model | Typical sequence | Best used when |
|---|---|---|
| Hierarchy of Effects | Awareness → Knowledge → Liking → Preference → Conviction → Action. | The goal is to diagnose staged audience response across a campaign or content pathway. |
| AIDA | Attention → Interest → Desire → Action. | The goal is to structure a persuasive message or page. |
| PAS | Problem → Agitate → Solution. | The goal is to clarify a problem, stakes, and solution fit. |
| BAB | Before → After → Bridge. | The goal is to frame transformation and show a path forward. |
| Innovation adoption | Knowledge → Persuasion → Decision → Implementation → Confirmation. | The goal is to support adoption of an idea, tool, practice, or technology over time. |
| Communication-persuasion matrix | Exposure → Attention → Comprehension → Acceptance → Retention → Behavior. | The goal is to analyze message inputs and response outputs systematically. |
The best model is not the most famous one. The best model is the one that matches the communication problem, audience state, evidence base, and ethical context.
Hierarchy of Effects vs AIDA, PAS, BAB, and 5W1H
The Hierarchy of Effects overlaps with AIDA, PAS, BAB, and 5W1H, but it performs a different job. AIDA is a persuasive-sequence framework. PAS and BAB are tension and transformation frameworks. 5W1H is an explanatory-completeness framework. The Hierarchy of Effects is a response-stage framework.
This distinction matters. AIDA asks how a message can move attention toward action. PAS asks how problem tension can support a solution. BAB asks how current and desired states are connected. 5W1H asks whether the explanation answers the necessary questions. The Hierarchy of Effects asks what kind of audience response has occurred and what stage still needs support.
| Framework | Main focus | Primary diagnostic question |
|---|---|---|
| Hierarchy of Effects | Stages of audience response. | Where is the audience in the response pathway? |
| AIDA | Persuasive message sequence. | Does the message move from attention to action responsibly? |
| PAS | Problem, stakes, and solution. | Is the problem real, the agitation proportionate, and the solution fit clear? |
| BAB | Before, after, and bridge. | Is the transformation credible and the bridge clear? |
| 5W1H | Explanatory completeness. | Does the content answer who, what, when, where, why, and how? |
The frameworks can complement one another. A persuasive page might use AIDA structure, PAS tension, BAB transformation, 5W1H explanatory completeness, and hierarchy-of-effects diagnostics. The risk is not using multiple frameworks. The risk is combining them without clarity.
Hierarchy of Effects in Content Frameworks
In content frameworks, hierarchy-of-effects thinking helps organize article maps, pillar pages, topic clusters, learning pathways, campaigns, and repository workflows around audience readiness. It asks what content supports awareness, what content supports understanding, what content supports evaluation, what content supports action, and what content supports continued use.
This is especially important for large knowledge systems. Not every article should do everything. Some articles orient. Some define. Some compare. Some persuade. Some teach methods. Some provide code. Some govern quality. A hierarchy-of-effects lens helps assign content roles across the system.
Hierarchy-of-effects thinking can support content frameworks through:
- article maps that move from orientation to methods, applications, critique, and governance;
- pillar pages that build awareness and knowledge before deeper articles;
- internal links that guide readers to the next stage of understanding;
- metadata fields that identify response stage and audience readiness;
- GitHub blocks that convert knowledge into practical application;
- case studies that support trust, preference, and confidence;
- footer navigation that provides a clear next step;
- audits that detect missing stage support across a content system.
When embedded in content architecture, response modeling helps a knowledge system become more than a collection of pages. It becomes a staged learning and action environment.
Measurement, Diagnosis, and Stage Gaps
Hierarchy-of-effects models are useful for measurement because they discourage one-metric thinking. Page views may indicate exposure or awareness, but not comprehension. Time on page may suggest engagement, but not trust. Click-through may indicate intent, but not durable understanding. Conversion may indicate action, but not long-term adoption.
Each stage requires different signals. The goal is not to turn every human response into a number. The goal is to avoid confusing one signal with the whole response pathway. A content team should define what kind of response a page is designed to support and then choose appropriate evidence.
| Response stage | Possible indicators | Interpretation caution |
|---|---|---|
| Awareness | Impressions, search visibility, referral traffic, headline recognition. | Awareness does not prove understanding. |
| Knowledge | Scroll depth, quiz results, search refinement, support questions, comprehension checks. | Engagement does not prove accurate comprehension. |
| Liking / Trust | Return visits, qualitative feedback, source confidence, sentiment, sharing. | Positive response does not prove evidence quality. |
| Preference | Comparison page use, saved resources, repeat selection, recommendation behavior. | Preference may reflect convenience rather than informed judgment. |
| Conviction / Intention | Download intent, registration starts, contact requests, checklist use. | Intention may not convert into action. |
| Action / Adoption | Completed forms, repository use, signups, implementation records, repeat use. | Action does not prove long-term value or ethical success. |
Good measurement respects stage differences. It does not pretend that one metric can explain the whole communication response process.
Ethical Risks in Response Modeling
Response models can be useful, but they also create ethical risks. A model that tracks movement from awareness to action can be used to support learning, public reasoning, and useful adoption. It can also be used to manipulate attention, exploit emotion, pressure action, or optimize conversion while weakening trust.
The ethical problem is not that communication seeks response. All communication seeks some form of response. The problem is when response goals override evidence, agency, privacy, accessibility, proportionality, or audience well-being.
Hierarchy-of-effects thinking should therefore be paired with ethical review. Does the awareness stage rely on exaggeration? Does the affective stage manufacture trust? Does the preference stage hide tradeoffs? Does the conviction stage overstate evidence? Does the action stage use pressure, false urgency, dark patterns, or hidden commitments?
| Stage | Ethical risk | Responsible review question |
|---|---|---|
| Awareness | Clickbait, shock, misleading attention cues. | Does the opening accurately represent the content? |
| Knowledge | Simplification that removes necessary context. | Does the explanation preserve what readers need to know? |
| Liking | Emotional design that substitutes feeling for evidence. | Does tone support trust without manipulating response? |
| Preference | Biased comparison, hidden alternatives, missing tradeoffs. | Can readers compare options fairly? |
| Conviction | Overclaiming certainty or evidence strength. | Are claims proportionate to evidence? |
| Action | False urgency, hidden conditions, dark patterns, pressure. | Is the next step transparent and agency-preserving? |
Ethical response modeling supports agency. It does not treat people as objects to be moved through a pipeline.
Governance and Review
Hierarchy-of-effects models should be governed because response assumptions can drift. A content system may begin with educational goals but gradually optimize only for clicks, signups, or conversions. Awareness content may become more sensational. Evidence content may become thinner. Action prompts may become more aggressive. Governance helps keep the response model aligned with editorial purpose.
A governance process should track which content assets support which response stages, whether the stage labels are accurate, whether evidence supports stage claims, whether calls to action are proportionate, and whether measurement practices create perverse incentives.
| Governance task | Review question | Why it matters |
|---|---|---|
| Stage mapping | Which response stage does this asset support? | Prevents every asset from being judged as conversion content. |
| Evidence review | Are knowledge, trust, and conviction claims supported? | Protects credibility. |
| Measurement review | Do metrics match the intended stage? | Prevents false interpretation of performance data. |
| CTA review | Is the action appropriate for audience readiness? | Prevents premature pressure. |
| Accessibility review | Can users understand and complete the intended response? | Supports inclusion and usability. |
| Ethical review | Does the model preserve agency and avoid manipulation? | Maintains trust. |
Governance turns response models from campaign planning tools into accountable editorial infrastructure.
Risks and Limits
The Hierarchy of Effects is useful, but it is limited. It can make communication response easier to analyze, but it can also imply a neat sequence that real audiences do not follow. People do not always move from awareness to knowledge to liking to preference to conviction to action. They may loop, skip, resist, compare, forget, act impulsively, or change after social influence.
The model can also overemphasize individual response. Many communication outcomes are shaped by social context, institutional trust, cultural meaning, platform design, policy constraints, economic conditions, and peer networks. A person’s response is not only a product of message sequence.
Another risk is measurement reduction. If each stage is assigned a metric, the metric may begin to replace the purpose of the stage. Awareness becomes impressions. Knowledge becomes page time. Liking becomes sentiment. Action becomes conversion. These indicators can help, but they are not the response itself.
| Limit | What goes wrong | Better practice |
|---|---|---|
| Linear assumption | Audience movement is treated as predictable and uniform. | Allow loops, re-entry points, skipped stages, and repeated exposure. |
| Individual bias | Social, cultural, institutional, and structural factors are ignored. | Connect response models to audience context and systems thinking. |
| Metric substitution | Stage indicators are mistaken for stage outcomes. | Use metrics as signals, not proof. |
| Conversion bias | All response is treated as immediate action. | Value learning, trust, reflection, adoption, and follow-through. |
| Over-modeling | The model becomes more important than the audience. | Use response models as diagnostic aids, not rigid laws. |
The model is strongest when it helps clarify audience support needs, not when it claims to predict behavior with certainty.
Mathematics, Computation, and Modeling
Hierarchy-of-effects thinking can be modeled computationally by treating each response stage as a support signal. A content audit can evaluate whether assets support awareness, knowledge, liking, preference, conviction, action, and follow-through. These models do not prove audience response, but they can reveal stage gaps across a content system.
C_i = \frac{\sum_{s=1}^{n} S_{is}}{n}
\]
Interpretation: Stage coverage \(C_i\) estimates how many response stages are supported by content asset \(i\), where \(S_{is}\) indicates support for stage \(s\).
B_i = 1 – \frac{\sigma(S_i)}{\mu(S_i)}
\]
Interpretation: Stage balance \(B_i\) estimates whether support is distributed proportionately across the stages relevant to an asset’s purpose.
R_i = w_1C_i + w_2E_i + w_3B_i + w_4A_i + w_5G_i
\]
Interpretation: Response readiness \(R_i\) can combine stage coverage, evidence support, balance, audience fit, and governance readiness.
Q = \{i : R_i < \tau \lor G_i < \gamma\}
\]
Interpretation: A governance queue \(Q\) can flag content assets whose response readiness falls below threshold \(\tau\) or whose governance support falls below minimum standard \(\gamma\).
These formulas support editorial review. They cannot determine whether audiences truly moved through the stages, nor can they replace qualitative research, usability testing, ethical review, or long-term outcome evaluation.
Python Workflow: Professional Communication Response Audit
A professional response-model audit should evaluate stage coverage, evidence support, audience fit, response balance, measurement alignment, ethical risk, and governance readiness. The Python workflow below uses only the standard library and produces CSV and JSON outputs.
#!/usr/bin/env python3
"""
Hierarchy of Effects and communication response audit workflow.
This workflow evaluates:
- awareness, knowledge, liking, preference, conviction, action, and follow-through support
- evidence support for response-stage claims
- stage balance
- audience fit
- measurement alignment
- ethical-risk flags
- governance queues
- catalog exports
Uses only the Python standard library.
"""
from __future__ import annotations
from pathlib import Path
from dataclasses import dataclass, asdict
from collections import defaultdict
from datetime import datetime, timezone
import csv
import json
import math
ROOT = Path(__file__).resolve().parents[1]
DATA = ROOT / "data"
TABLES = ROOT / "outputs" / "tables"
REPORTS = ROOT / "outputs" / "reports"
AUDIT_LOGS = ROOT / "outputs" / "audit_logs"
CATALOG_EXPORTS = ROOT / "outputs" / "catalog_exports"
STAGES = ["awareness", "knowledge", "liking", "preference", "conviction", "action", "follow_through"]
READINESS_THRESHOLD = 0.78
GOVERNANCE_MINIMUM = 0.70
WEIGHTS = {
"stage_coverage": 0.22,
"evidence_support": 0.22,
"stage_balance": 0.16,
"audience_fit": 0.16,
"governance": 0.14,
"ethical_review": 0.10
}
@dataclass(frozen=True)
class Finding:
severity: str
category: str
identifier: str
message: str
recommended_action: str
def ensure_dirs() -> None:
for directory in [TABLES, REPORTS, AUDIT_LOGS, CATALOG_EXPORTS]:
directory.mkdir(parents=True, exist_ok=True)
def read_csv(path: Path) -> list[dict[str, str]]:
with path.open(newline="", encoding="utf-8") as handle:
return list(csv.DictReader(handle))
def write_csv(path: Path, rows: list[dict[str, object]]) -> None:
if not rows:
return
path.parent.mkdir(parents=True, exist_ok=True)
with path.open("w", newline="", encoding="utf-8") as handle:
writer = csv.DictWriter(handle, fieldnames=list(rows[0].keys()))
writer.writeheader()
writer.writerows(rows)
def write_json(path: Path, payload: object) -> None:
path.parent.mkdir(parents=True, exist_ok=True)
path.write_text(json.dumps(payload, indent=2), encoding="utf-8")
def yes(value: str) -> bool:
return str(value).strip().lower() in {"yes", "true", "1", "ready", "complete"}
def average(values: list[float]) -> float:
return sum(values) / len(values) if values else 0.0
def balance_score(values: list[float]) -> float:
mean_value = average(values)
if mean_value == 0:
return 0.0
variance = average([(value - mean_value) ** 2 for value in values])
standard_deviation = math.sqrt(variance)
balance = 1 - min(standard_deviation / mean_value, 1)
return max(0.0, min(balance, 1.0))
def severity_rank(severity: str) -> int:
return {"critical": 0, "high": 1, "medium": 2, "low": 3, "info": 4}.get(severity, 99)
def score_asset(asset: dict[str, str]) -> dict[str, float]:
stage_values = [int(yes(asset[f"{stage}_supported"])) for stage in STAGES]
evidence_values = [
int(yes(asset[f"{stage}_evidence_present"]))
for stage in STAGES
if yes(asset[f"{stage}_supported"])
]
stage_coverage = sum(stage_values) / len(STAGES)
evidence_support = average(evidence_values) if evidence_values else 0.0
stage_balance = balance_score(stage_values)
audience_fit = (
int(yes(asset["audience_context_present"])) +
int(yes(asset["audience_readiness_defined"])) +
int(yes(asset["next_step_matches_stage"]))
) / 3
governance = (
int(yes(asset["measurement_aligned"])) +
int(yes(asset["review_owner_present"])) +
int(yes(asset["last_review_date_present"])) +
int(yes(asset["revision_queue_checked"]))
) / 4
ethical_review = (
int(not yes(asset["uses_false_urgency"])) +
int(not yes(asset["overclaims_response"])) +
int(not yes(asset["uses_pressure_cta"])) +
int(yes(asset["audience_agency_preserved"]))
) / 4
readiness = (
WEIGHTS["stage_coverage"] * stage_coverage +
WEIGHTS["evidence_support"] * evidence_support +
WEIGHTS["stage_balance"] * stage_balance +
WEIGHTS["audience_fit"] * audience_fit +
WEIGHTS["governance"] * governance +
WEIGHTS["ethical_review"] * ethical_review
)
return {
"stage_coverage_score": round(stage_coverage, 4),
"evidence_support_score": round(evidence_support, 4),
"stage_balance_score": round(stage_balance, 4),
"audience_fit_score": round(audience_fit, 4),
"governance_score": round(governance, 4),
"ethical_review_score": round(ethical_review, 4),
"response_readiness_score": round(readiness, 4)
}
def audit_assets(assets: list[dict[str, str]]):
rows = []
findings = []
for asset in assets:
scores = score_asset(asset)
status = "ready" if scores["response_readiness_score"] >= READINESS_THRESHOLD and scores["governance_score"] >= GOVERNANCE_MINIMUM else "governance review"
unsupported_stages = [
stage for stage in STAGES
if yes(asset[f"{stage}_supported"]) and not yes(asset[f"{stage}_evidence_present"])
]
missing_stage_support = [
stage for stage in STAGES
if not yes(asset[f"{stage}_supported"])
]
row = {
"asset_id": asset["asset_id"],
"asset_name": asset["asset_name"],
"asset_type": asset["asset_type"],
"primary_response_stage": asset["primary_response_stage"],
"audience": asset["audience"],
**scores,
"missing_stage_support": ";".join(missing_stage_support),
"unsupported_stage_claims": ";".join(unsupported_stages),
"response_status": status
}
rows.append(row)
if scores["stage_coverage_score"] < 0.50:
findings.append(Finding(
"medium",
"stage_coverage",
asset["asset_id"],
"Response-stage coverage is narrow.",
"Confirm that narrow stage coverage is intentional or add supporting assets."
))
if unsupported_stages:
findings.append(Finding(
"high",
"evidence_support",
asset["asset_id"],
f"Supported response stages lack evidence: {', '.join(unsupported_stages)}.",
"Add evidence, examples, measurement notes, or limitation language."
))
if scores["audience_fit_score"] < 0.67:
findings.append(Finding(
"medium",
"audience_fit",
asset["asset_id"],
"Audience readiness support is weak.",
"Define audience context, readiness level, and next-step fit."
))
if scores["ethical_review_score"] < 0.75:
findings.append(Finding(
"high",
"ethical_review",
asset["asset_id"],
"Ethical review score is below standard.",
"Remove false urgency, pressure CTAs, overclaiming, or agency-reducing language."
))
if status != "ready":
findings.append(Finding(
"medium",
"response_readiness",
asset["asset_id"],
f"Response readiness is {scores['response_readiness_score']:.2f}.",
"Review stage support, evidence support, audience fit, governance, and ethical-risk flags."
))
return rows, findings
def stage_summary(assets: list[dict[str, str]]):
rows = []
for stage in STAGES:
supported = sum(1 for asset in assets if yes(asset[f"{stage}_supported"]))
evidence = sum(
1 for asset in assets
if yes(asset[f"{stage}_supported"]) and yes(asset[f"{stage}_evidence_present"])
)
rows.append({
"response_stage": stage,
"assets_supporting_stage": supported,
"assets_with_evidence": evidence,
"support_rate": round(supported / len(assets), 4) if assets else 0,
"evidence_rate": round(evidence / supported, 4) if supported else 0
})
return rows
def audience_summary(readiness_rows):
grouped = defaultdict(list)
for row in readiness_rows:
grouped[row["audience"]].append(float(row["response_readiness_score"]))
return [{
"audience": audience,
"asset_count": len(scores),
"average_response_readiness": round(average(scores), 4)
} for audience, scores in sorted(grouped.items())]
def governance_queue(manual_queue, findings):
rows = []
for item in manual_queue:
rows.append({
"source": "manual_review_queue",
"severity": item["severity"],
"category": item["issue_type"],
"identifier": item["record_id"],
"message": item["review_note"],
"recommended_action": "Resolve through communication response governance."
})
for finding in findings:
rows.append({
"source": "automated_response_audit",
"severity": finding.severity,
"category": finding.category,
"identifier": finding.identifier,
"message": finding.message,
"recommended_action": finding.recommended_action
})
rows.sort(key=lambda row: (severity_rank(row["severity"]), row["category"], row["identifier"]))
return rows
def main():
ensure_dirs()
assets = read_csv(DATA / "communication_response_inventory.csv")
manual_queue = read_csv(DATA / "editorial_review_queue.csv")
readiness_rows, findings = audit_assets(assets)
stage_rows = stage_summary(assets)
audience_rows = audience_summary(readiness_rows)
queue_rows = governance_queue(manual_queue, findings)
catalog_rows = [{
"series": "Content Frameworks",
"article_slug": "hierarchy-of-effects-and-communication-response-models",
"asset_id": row["asset_id"],
"asset_name": row["asset_name"],
"asset_type": row["asset_type"],
"primary_response_stage": row["primary_response_stage"],
"audience": row["audience"],
"response_readiness_score": row["response_readiness_score"],
"response_status": row["response_status"],
"github_path": "articles/hierarchy-of-effects-and-communication-response-models/"
} for row in readiness_rows]
write_csv(TABLES / "communication_response_readiness_report.csv", readiness_rows)
write_csv(TABLES / "communication_response_stage_summary_report.csv", stage_rows)
write_csv(TABLES / "communication_response_audience_summary_report.csv", audience_rows)
write_csv(TABLES / "communication_response_governance_queue.csv", queue_rows)
write_csv(CATALOG_EXPORTS / "communication_response_catalog_export.csv", catalog_rows)
report = {
"article": "Hierarchy of Effects and Communication Response Models",
"generated_at": datetime.now(timezone.utc).isoformat(),
"counts": {
"assets": len(assets),
"findings": len(findings),
"governance_queue": len(queue_rows)
},
"stage_summary": stage_rows,
"readiness": readiness_rows,
"governance_queue": queue_rows
}
write_json(REPORTS / "communication_response_audit.json", report)
write_json(AUDIT_LOGS / "communication_response_findings.json", [asdict(finding) for finding in findings])
print("Communication response audit complete.")
print(TABLES / "communication_response_readiness_report.csv")
print(TABLES / "communication_response_governance_queue.csv")
print(REPORTS / "communication_response_audit.json")
if __name__ == "__main__":
main()
This workflow treats response models as editorial infrastructure. It evaluates whether content assets support audience movement across awareness, knowledge, liking, preference, conviction, action, and follow-through while also checking evidence, audience fit, governance, and ethical risk.
R Workflow: Stage Balance, Content Support, and Governance Reporting
An R workflow can summarize communication response support across content assets, audiences, stage types, evidence support, measurement alignment, and governance status. The example below uses base R so it can run in lightweight environments.
# communication_response_analysis.R
# Base R workflow for hierarchy-of-effects and communication response audits.
args <- commandArgs(trailingOnly = FALSE)
file_arg <- grep("^--file=", args, value = TRUE)
if (length(file_arg) > 0) {
script_path <- normalizePath(sub("^--file=", "", file_arg[1]), mustWork = TRUE)
article_root <- normalizePath(file.path(dirname(script_path), ".."), mustWork = TRUE)
} else {
article_root <- getwd()
}
data_dir <- file.path(article_root, "data")
tables_dir <- file.path(article_root, "outputs", "tables")
figures_dir <- file.path(article_root, "outputs", "figures")
reports_dir <- file.path(article_root, "outputs", "reports")
catalog_dir <- file.path(article_root, "outputs", "catalog_exports")
dir.create(tables_dir, recursive = TRUE, showWarnings = FALSE)
dir.create(figures_dir, recursive = TRUE, showWarnings = FALSE)
dir.create(reports_dir, recursive = TRUE, showWarnings = FALSE)
dir.create(catalog_dir, recursive = TRUE, showWarnings = FALSE)
assets <- read.csv(file.path(data_dir, "communication_response_inventory.csv"), stringsAsFactors = FALSE)
review_queue <- read.csv(file.path(data_dir, "editorial_review_queue.csv"), stringsAsFactors = FALSE)
yes <- function(x) {
tolower(trimws(x)) %in% c("yes", "true", "1", "ready", "complete")
}
balance_score <- function(values) {
mean_value <- mean(values)
if (mean_value == 0) return(0)
balance <- 1 - min(sd(values) / mean_value, 1)
max(0, min(balance, 1))
}
stages <- c(
"awareness",
"knowledge",
"liking",
"preference",
"conviction",
"action",
"follow_through"
)
stage_matrix <- sapply(stages, function(stage) yes(assets[[paste0(stage, "_supported")]]))
evidence_matrix <- sapply(stages, function(stage) yes(assets[[paste0(stage, "_evidence_present")]]))
assets$stage_coverage_score <- round(rowMeans(stage_matrix), 4)
supported_evidence_counts <- rowSums(stage_matrix & evidence_matrix)
supported_stage_counts <- rowSums(stage_matrix)
assets$evidence_support_score <- ifelse(
supported_stage_counts == 0,
0,
supported_evidence_counts / supported_stage_counts
)
assets$evidence_support_score <- round(assets$evidence_support_score, 4)
assets$stage_balance_score <- apply(stage_matrix, 1, balance_score)
assets$stage_balance_score <- round(assets$stage_balance_score, 4)
assets$audience_fit_score <- round(
(
yes(assets$audience_context_present) +
yes(assets$audience_readiness_defined) +
yes(assets$next_step_matches_stage)
) / 3,
4
)
assets$governance_score <- round(
(
yes(assets$measurement_aligned) +
yes(assets$review_owner_present) +
yes(assets$last_review_date_present) +
yes(assets$revision_queue_checked)
) / 4,
4
)
assets$ethical_review_score <- round(
(
!yes(assets$uses_false_urgency) +
!yes(assets$overclaims_response) +
!yes(assets$uses_pressure_cta) +
yes(assets$audience_agency_preserved)
) / 4,
4
)
assets$response_readiness_score <- round(
0.22 * assets$stage_coverage_score +
0.22 * assets$evidence_support_score +
0.16 * assets$stage_balance_score +
0.16 * assets$audience_fit_score +
0.14 * assets$governance_score +
0.10 * assets$ethical_review_score,
4
)
assets$response_status <- ifelse(
assets$response_readiness_score >= 0.78 & assets$governance_score >= 0.70,
"ready",
"governance review"
)
stage_summary <- data.frame(
response_stage = stages,
assets_supporting_stage = colSums(stage_matrix),
assets_with_evidence = colSums(stage_matrix & evidence_matrix)
)
stage_summary$support_rate <- round(stage_summary$assets_supporting_stage / nrow(assets), 4)
stage_summary$evidence_rate <- ifelse(
stage_summary$assets_supporting_stage == 0,
0,
round(stage_summary$assets_with_evidence / stage_summary$assets_supporting_stage, 4)
)
audience_summary <- aggregate(
response_readiness_score ~ audience,
data = assets,
FUN = mean
)
names(audience_summary) <- c("audience", "average_response_readiness")
audience_summary$average_response_readiness <- round(audience_summary$average_response_readiness, 4)
asset_type_summary <- aggregate(
response_readiness_score ~ asset_type,
data = assets,
FUN = mean
)
names(asset_type_summary) <- c("asset_type", "average_response_readiness")
asset_type_summary$average_response_readiness <- round(asset_type_summary$average_response_readiness, 4)
governance_queue <- subset(assets, response_status == "governance review")
catalog <- assets[, c(
"asset_id",
"asset_name",
"asset_type",
"primary_response_stage",
"audience",
"response_readiness_score",
"response_status"
)]
catalog$series <- "Content Frameworks"
catalog$article_slug <- "hierarchy-of-effects-and-communication-response-models"
catalog$github_path <- "articles/hierarchy-of-effects-and-communication-response-models/"
write.csv(assets, file.path(tables_dir, "r_communication_response_readiness_report.csv"), row.names = FALSE)
write.csv(stage_summary, file.path(tables_dir, "r_communication_response_stage_summary_report.csv"), row.names = FALSE)
write.csv(audience_summary, file.path(tables_dir, "r_communication_response_audience_summary_report.csv"), row.names = FALSE)
write.csv(asset_type_summary, file.path(tables_dir, "r_communication_response_asset_type_summary_report.csv"), row.names = FALSE)
write.csv(governance_queue, file.path(tables_dir, "r_communication_response_governance_queue.csv"), row.names = FALSE)
write.csv(catalog, file.path(catalog_dir, "r_communication_response_catalog_export.csv"), row.names = FALSE)
png(file.path(figures_dir, "r_communication_response_readiness_scores.png"), width = 1200, height = 800)
barplot(
assets$response_readiness_score,
names.arg = assets$asset_id,
las = 2,
main = "Communication Response Readiness Scores",
ylab = "Readiness score"
)
dev.off()
png(file.path(figures_dir, "r_communication_response_stage_support.png"), width = 1100, height = 750)
barplot(
stage_summary$support_rate,
names.arg = stage_summary$response_stage,
las = 2,
main = "Response Stage Support",
ylab = "Support rate"
)
dev.off()
writeLines(c(
"# Hierarchy of Effects and Communication Response Models: R Audit",
"",
paste0("- Content assets: ", nrow(assets)),
paste0("- Manual review queue records: ", nrow(review_queue)),
paste0("- Average response readiness score: ", round(mean(assets$response_readiness_score), 4)),
paste0("- Assets requiring governance review: ", nrow(governance_queue))
), file.path(reports_dir, "r_communication_response_report.md"))
print("Communication response R analysis complete.")
print(assets[, c("asset_id", "primary_response_stage", "response_readiness_score", "response_status")])
This R workflow summarizes stage support, evidence support, response readiness, audience fit, asset-type performance, and governance review needs across communication assets.
GitHub repository
The companion repository provides a reproducible technical scaffold for the article’s computational examples, including communication-response inventories, stage coverage analysis, evidence-support review, stage-balance scoring, audience-fit checks, measurement alignment, ethical-risk checks, governance queues, synthetic data, generated outputs, and reproducibility documentation.
The full code distribution for this article, including selected article examples, expanded computational workflows, reusable HTML/CSS/PHP components, Java content models, Python and R workflows, SQL schemas, synthetic datasets, generated outputs, governance documentation, and notebook placeholders, is available on GitHub.
A Practical Method for Using Response Models Responsibly
A practical hierarchy-of-effects method begins by defining the response stage the content is meant to support. The goal is not to push every audience toward immediate action, but to provide the right support for the right stage of understanding, evaluation, and readiness.
1. Define the audience state
Identify whether the audience is unaware, aware but confused, informed but skeptical, interested but undecided, convinced but inactive, or active but unsupported.
2. Identify the primary response stage
Decide whether the asset should support awareness, knowledge, liking, preference, conviction, action, or follow-through.
3. Match content to stage
Use titles and summaries for awareness, explanations for knowledge, evidence for trust, comparisons for preference, and clear pathways for action.
4. Define stage-appropriate evidence
Clarify what support is needed for each stage: examples, references, cases, metrics, user guidance, or implementation notes.
5. Align measurement
Choose indicators that match the intended response stage rather than using conversion metrics for every asset.
6. Check sequence fit
Make sure the next step is appropriate for audience readiness.
7. Review ethical risks
Check for false urgency, pressure, overclaiming, hidden tradeoffs, and agency-reducing design.
8. Support accessibility
Make the response pathway understandable through headings, links, buttons, captions, summaries, and plain language.
9. Connect internal pathways
Use related articles, article maps, and footer navigation to support movement across stages.
10. Govern and revise
Track stage labels, evidence, metrics, calls to action, review dates, and revision queues over time.
| Design step | Question | Output |
|---|---|---|
| Audience-state definition | Where is the audience now? | Audience readiness note. |
| Stage selection | Which response stage should this asset support? | Primary response-stage label. |
| Content support | What kind of content fits the stage? | Asset design plan. |
| Evidence review | What supports the stage claim? | Evidence and limitation notes. |
| Measurement alignment | How will the stage be evaluated? | Stage-appropriate metric set. |
| Ethical review | Does the content preserve agency? | Risk checklist and revision notes. |
| Governance | How will the model stay accurate? | Review status and update queue. |
This method turns response modeling into a responsible editorial-design process rather than a conversion funnel disguised as communication theory.
Common Pitfalls
Hierarchy-of-effects models often fail when they are treated as rigid sequences or as automatic paths to action. Their value lies in diagnosis, not deterministic prediction.
| Pitfall | What goes wrong | Better practice |
|---|---|---|
| Treating the hierarchy as universal | Different audience pathways are ignored. | Allow loops, skipped stages, re-entry points, and context differences. |
| Using conversion as the only outcome | Awareness, knowledge, trust, and adoption are undervalued. | Use stage-appropriate goals and measurements. |
| Assuming awareness means understanding | Traffic is mistaken for comprehension. | Add knowledge support and comprehension checks. |
| Assuming understanding means trust | The audience knows the message but remains unconvinced. | Use evidence, examples, transparency, and limitation notes. |
| Using premature CTAs | The action request appears before the audience is ready. | Match next steps to response stage. |
| Overclaiming behavioral causality | The content is credited with outcomes it may not have caused. | Treat metrics as signals and use cautious interpretation. |
| Ignoring ethics | Response optimization becomes manipulation. | Pair response models with agency, evidence, and accessibility review. |
Response models work best when they help content teams ask better questions about audience readiness.
Why This Matters Now
Hierarchy-of-effects thinking matters now because digital communication is often judged by immediate and visible metrics. Clicks, impressions, views, signups, and conversions are easier to count than comprehension, trust, preference, confidence, adoption, or long-term use. This can distort content strategy.
AI-assisted publishing makes response modeling more important. A system can generate large volumes of content, but volume does not guarantee that readers are moving from awareness to understanding, evaluation, action, or durable use. Without stage diagnosis, a content system may grow quickly while leaving major response gaps.
For public-interest publishing, response models should support learning and agency rather than manipulation. The desired response may be informed judgment, civic participation, responsible adoption, ethical reflection, or continued inquiry. These outcomes require different supports than immediate conversion.
For Content Catalyst’s knowledge architecture, the Hierarchy of Effects offers a useful audit lens. It can help identify which articles orient, which explain, which compare, which persuade, which support action, and which maintain trust over time.
Audience response is not a single event. Responsible communication must support the pathway.
Conclusion
The Hierarchy of Effects and communication response models help writers, editors, strategists, educators, and researchers understand how audiences move through awareness, knowledge, evaluation, preference, conviction, action, and follow-through. The framework is useful because it separates stages that are often collapsed into a single idea of engagement.
Used well, hierarchy-of-effects thinking improves content sequencing, stage diagnosis, measurement design, internal linking, calls to action, and editorial governance. It helps content teams ask whether they are supporting the audience’s actual state rather than forcing every asset to behave like a conversion page.
Used poorly, the model can become overly linear, metric-driven, manipulative, or blind to social context. That is why response models should be paired with evidence architecture, audience research, accessibility, ethical review, and governance.
For content frameworks, the Hierarchy of Effects is not merely an advertising model. It is a durable way to think about how communication supports movement through knowledge, judgment, trust, and responsible action.
Related articles
- Content Frameworks
- 5W1H and the Architecture of Explanatory Completeness
- AIDA and the Logic of Persuasive Sequence
- PAS, BAB, and the Structure of Tension and Transformation
- Storytelling Frameworks for Transformation and Action
- Ethical Risks in Persuasive Frameworks
- Audience Journey Frameworks and Content Sequencing
- Value Proposition Canvas and the Communication of Relevance
- Message House and the Architecture of Strategic Messaging
- Public Reasoning and Framework Design
Further reading
- Barry, T.E. (1987) ‘The Development of the Hierarchy of Effects: An Historical Perspective’, Current Issues and Research in Advertising, 10(1–2), pp. 251–295.
- Cialdini, R.B. (2021) Influence, New and Expanded: The Psychology of Persuasion. New York: Harper Business. Available at: https://cialdini.com/
- Heath, C. and Heath, D. (2007) Made to Stick: Why Some Ideas Survive and Others Die. New York: Random House.
- Lavidge, R.J. and Steiner, G.A. (1961) ‘A model for predictive measurements of advertising effectiveness’, Journal of Marketing, 25(6), pp. 59–62. Available at: https://doi.org/10.1177/002224296102500611
- McGuire, W.J. (1985) ‘Attitudes and attitude change’, in Lindzey, G. and Aronson, E. (eds.) The Handbook of Social Psychology. 3rd edn. New York: Random House.
- National Academies of Sciences, Engineering, and Medicine (2017) Communicating Science Effectively: A Research Agenda. Washington, DC: The National Academies Press. Available at: https://doi.org/10.17226/23674
- Perloff, R.M. (2020) The Dynamics of Persuasion: Communication and Attitudes in the 21st Century. 7th edn. New York: Routledge. Available at: https://www.routledge.com/The-Dynamics-of-Persuasion-Communication-and-Attitudes-in-the-21st-Century/Perloff/p/book/9780367185794
- Rogers, E.M. (2003) Diffusion of Innovations. 5th edn. New York: Free Press.
- Strong, E.K. (1925) The Psychology of Selling and Advertising. New York: McGraw-Hill. Available at: https://www.si.edu/object/siris_sil_383577
- Toulmin, S.E. (2003) The Uses of Argument. Updated edn. Cambridge: Cambridge University Press. Available at: https://doi.org/10.1017/CBO9780511840005
- World Wide Web Consortium (2024) Web Content Accessibility Guidelines (WCAG) 2.2. Available at: https://www.w3.org/TR/WCAG22/
References
- Barry, T.E. (1987) ‘The Development of the Hierarchy of Effects: An Historical Perspective’, Current Issues and Research in Advertising, 10(1–2), pp. 251–295.
- Cialdini, R.B. (2021) Influence, New and Expanded: The Psychology of Persuasion. New York: Harper Business. Available at: https://cialdini.com/
- Heath, C. and Heath, D. (2007) Made to Stick: Why Some Ideas Survive and Others Die. New York: Random House.
- Lavidge, R.J. and Steiner, G.A. (1961) ‘A model for predictive measurements of advertising effectiveness’, Journal of Marketing, 25(6), pp. 59–62. Available at: https://doi.org/10.1177/002224296102500611
- McGuire, W.J. (1985) ‘Attitudes and attitude change’, in Lindzey, G. and Aronson, E. (eds.) The Handbook of Social Psychology. 3rd edn. New York: Random House.
- National Academies of Sciences, Engineering, and Medicine (2017) Communicating Science Effectively: A Research Agenda. Washington, DC: The National Academies Press. Available at: https://doi.org/10.17226/23674
- Perloff, R.M. (2020) The Dynamics of Persuasion: Communication and Attitudes in the 21st Century. 7th edn. New York: Routledge. Available at: https://www.routledge.com/The-Dynamics-of-Persuasion-Communication-and-Attitudes-in-the-21st-Century/Perloff/p/book/9780367185794
- Rogers, E.M. (2003) Diffusion of Innovations. 5th edn. New York: Free Press.
- Strong, E.K. (1925) The Psychology of Selling and Advertising. New York: McGraw-Hill. Available at: https://www.si.edu/object/siris_sil_383577
- Toulmin, S.E. (2003) The Uses of Argument. Updated edn. Cambridge: Cambridge University Press. Available at: https://doi.org/10.1017/CBO9780511840005
- World Wide Web Consortium (2024) Web Content Accessibility Guidelines (WCAG) 2.2. W3C Recommendation. Available at: https://www.w3.org/TR/WCAG22/
