25478321
CustomerApi.Jobs.Insights.ExecuteAccountInsightAgentJob
Queue
insight_agents
Attempt
2 of 2
Priority
0
Tags
...
Node
customer_api@10.10.1.109
Queue Time
00:00.661
Run Time
01:06.330
Inserted
54m ago
Scheduled
54m ago
Completed
53m ago (01:07)
Cancelled
—
Discarded
—
Args
%{
"account_id" => "106160",
"account_insight_agent_id" => "62e3b1cf-db85-43c3-82f1-0205b271a4b3"
}
Meta
%{
"deps" => [],
"name" => "execute",
"on_hold" => false,
"orig_scheduled_at" => 1777665302657094,
"partition" => true,
"partition_key" => "Sh7hncd3qVugngnnlRyQKGtNgFvW1lu8JNjBZhmMs7g",
"recorded" => true,
"return" => "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",
"structured" => true,
"uniq" => true,
"uniq_bmp" => [1, 0, 2, 3],
"uniq_key" => "J7r5pkkoxWVm4n10DvbwNVQNiugvrIzkcB+hm1fhIN8",
"workflow" => true,
"workflow_id" => "019de51b-e080-7bd1-852a-094beacb1c13"
}
Recorded Output
%{
notes: "Created 3 insights from the Loops retention claim by comparing it against current Appcues setup. Main findings: the account lacks event instrumentation and relevant goals, the only live banner is stale and unrelated, and the Loops statement is best used as a hypothesis for a controlled first-14-days experiment rather than a proven account-specific insight.",
insights_data: [
%{
"action_plan" => "Rebuild the measurement layer before treating the Loops result as a reliable playbook:\n1. Start sending at least the core lifecycle and adoption events Appcues recommends, such as **Signed Up / First Login**, **Completed Onboarding**, and **Used [Key Feature]** \n2. Create Goals for the behaviors you actually want to influence: **adoption within 14 days** and **month-2 retention** \n3. Use a **control experiment** so you measure real lift instead of raw conversion alone ",
"actions" => [],
"cta_text" => "Review measurement gaps",
"entity_id" => nil,
"entity_type" => nil,
"expected_impact" => "Once tracking is restored, you can determine whether the Loops pattern produces real incremental lift in adoption and retention instead of relying on an external claim.",
"finding" => "The Loops pattern may be worth testing, but your Appcues account does **not currently have the measurement foundation** to confirm it.\n\n- **No event names have been tracked in the last 365 days**\n- The account was last seen on **2022-11-09**\n- Your enabled goals are not tied to **first login**, **feature adoption**, or **month-2 retention**\n\nThat matters because Appcues guidance is explicit: an implementation is **incomplete without event tracking**, and events are what power Goals, targeting, and analytics . Appcues also recommends attaching a Goal to every published experience so you can measure whether it drove the intended outcome .",
"outcomes" => ["activation", "adoption", "retention"],
"priority" => "high",
"title" => "You can’t validate the Loops retention claim in Appcues yet",
"type" => "issue"
},
%{
"action_plan" => "Retire or replace the current live banner strategy:\n1. Unpublish the stale legacy banner if it no longer serves a real product purpose\n2. Create a new onboarding-oriented experience aimed at **new users in their first 14 days** rather than a generic always-on page banner\n3. Attach a Goal so you can measure whether the experience drives the target action \n4. If the outcome is high-stakes, prefer a more action-oriented format like a short flow or checklist, since banners are typically weaker for conversion-oriented use cases ",
"actions" => [],
"cta_text" => "Audit live banner strategy",
"entity_id" => nil,
"entity_type" => "banner",
"expected_impact" => "Replacing irrelevant live content should improve message relevance and create a testable path toward activation and retention improvements.",
"finding" => "Your only published banner is **Sam Wedding**, shown on **samstuckless.ca/wedding.html**, set to **show every time**, with **no goals attached**. Its content is legacy announcement copy, not onboarding or adoption messaging.\n\nThis means your current banner setup is **not capable of testing** the Loops idea about showing banners during the first 14 days after login. Appcues' own benchmark data also says banners average only **0.32% CTR** and are best used for **FYIs, not critical conversions** .",
"outcomes" => ["activation", "adoption", "engagement", "retention"],
"priority" => "high",
"title" => "Your only live banner is unrelated to onboarding or retention",
"type" => "issue"
},
%{
"action_plan" => "Use the Loops insight to derive additional insights through one focused experiment design:\n1. Define the audience: **new users / first 14 days after first login** using properties like `first_seen_at` or a dedicated new-user segment \n2. Define the target behavior: one specific activation or feature-adoption event, such as **Created Project**, **Connected Integration**, or **Used [Key Feature]** \n3. Sequence **3 nudges** around moments of likely need, not just elapsed time\n4. Measure three layers separately: **reach**, **adoption conversion**, and **month-2 retention**\n5. Compare against a holdback/control group so you can tell whether the campaign actually caused any uplift \n\nBest next insight to derive after setup: identify **which key action most strongly correlates with month-2 retention**, then design the 3-message sequence around that action instead of around banners alone.",
"actions" => [],
"cta_text" => "Design the experiment",
"entity_id" => nil,
"entity_type" => nil,
"expected_impact" => "A controlled onboarding experiment should give you a clearer path to improving activation first, then retention, with evidence you can trust.",
"finding" => "The most useful way to process the Loops insight is to treat it as a **hypothesis**, not a conclusion:\n\n- Hypothesis: users who see **3 well-timed nudges within 14 days of first login** may adopt a key behavior more often, which could improve later retention\n- Risk: the cited **1.04% adoption** suggests the adopting group may be quite small, so a weakly targeted banner test could produce noisy results\n- Appcues guidance supports building around a narrow outcome, a clear audience, and a defined Goal, such as \"new users complete their first key action within 7 days\" \n- Appcues benchmark data shows **feature adoption averages ~34–36%**, and product-triggered nudges outperform batch-style messaging for adoption use cases ",
"outcomes" => ["activation", "adoption", "retention"],
"priority" => "medium",
"title" => "Turn the Loops claim into a controlled first-14-days experiment",
"type" => "opportunity"
}
]
}
Errors
Attempt 1—54m ago
** (Oban.PerformError) CustomerApi.Jobs.Insights.ExecuteAccountInsightAgentJob failed with {:error, %OpenaiEx.Error{status_code: nil, name: nil, message: "Connection closed.", body: nil, code: nil, param: nil, type: nil, request_id: nil, request: nil, kind: :api_connection_error}}