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}}