Fixes & Errors

Troubleshooting

Solutions to the most common extension, form-fill, session, and payment errors.

The extension not filling forms is the most common troubleshooting call. It usually comes from a few specific issues. Work through this list in order.

1. First: Is The Extension Actually Running?

  • Check that ContactID’s icon in your Chrome toolbar is not greyed out.
  • Open the side panel; you should see your queue, not a sign-in screen.
  • If greyed out or blank: reload the extension via chrome://extensions/.

2. Second: Are You Signed In?

  • Look at the top of the side panel.
  • Your email address should be visible.
  • If you see a sign-in prompt: sign in with your account email.

3. Third: Do You Have Credits?

  • Check the credit balance in the side panel or top bar of the dashboard.
  • If it says 0: buy PAYG credits or subscribe before continuing.
  • Free tier accounts have 30 credits; make sure they’re not exhausted.

4. Fourth: Is An Agent Selected?

  • The agent switcher at the top of the side panel.
  • Confirm it shows an agent, not “no agent selected”.
  • If empty: create an agent in the dashboard.

5. Fifth: Did You Click Start?

  • The Start button turns into Pause once a batch is running.
  • If you don’t see a Pause button: the batch hasn’t started.
  • Add URLs to the queue and click Start.

6. Sixth: Is Chrome In “Efficiency Mode” Or Sleep?

Some Chrome versions pause background tabs when the browser is minimized:

  • Bring the Chrome window to the foreground.
  • Extensions and side panels resume.

Also check chrome://flags/#memory-saver-mode; disable memory saver if it’s causing background tabs to be paused.

7. Seventh: Is The Target Site Actually Reachable?

Sometimes a batch of URLs fail because the URLs themselves are broken:

  • Manually open one URL from your queue in a new tab.
  • Confirm the site loads.
  • Confirm there’s actually a contact form on the page.
  • If the site doesn’t load or has no form, ContactID cannot fill it.

8. Eighth: Reload The Extension

When in doubt, reload:

  • Go to chrome://extensions/.
  • Find ContactID.
  • Click the Reload icon.
  • Try again.

9. Ninth: Check For Circuit Breaker

If failures have piled up, the circuit breaker may have paused the batch:

  • Open the side panel.
  • Look for a warning banner at the top.
  • If tripped, address the underlying cause and click Resume.

10. Still Broken?

Contact support with:

  • Your ContactID account email.
  • Extension version (from chrome://extensions/).
  • Chrome version (from Help > About Chrome).
  • A screenshot of the side panel.
  • A specific URL that isn’t being filled.
  • The failure reason shown for that URL (click the row for details).

You may see the extension fill some fields but skip others. Usually caused by an unusual form layout the detector doesn’t recognize yet. Here is how to spot and work around.

1. Common Field Types That Don’t Detect

  • File uploads. ContactID cannot upload files.
  • Custom multi-step forms. Wizard-style forms with “Next” buttons.
  • Advanced select widgets. Non-native picker components using JavaScript instead of a plain HTML select.
  • Date pickers. Custom calendar widgets.
  • Address autocomplete. Google Places-style dropdowns that require typing to trigger.
  • Conditional fields. Fields that appear only after another field is filled.

2. What Happens On Undetected Fields

  • If the field is optional: ContactID skips it and continues.
  • If the field is required: ContactID either fills it with a fallback or fails the send.
  • The failure reason (in Activity) is “Required field could not be filled: [field label]”.

3. Diagnosing A Specific Site

  • Open the target URL manually.
  • Inspect the contact form (right-click > Inspect).
  • Look at the field types.
  • If you see standard input, textarea, select tags with common labels: should work.
  • If you see complex custom widgets: probably won’t fill.

4. When Detection Should Work But Doesn’t

Sometimes standard fields aren’t detected. Common reasons:

  • The form is inside an iframe. Iframes are isolated from the parent page and require special handling.
  • The form loads dynamically after the page. ContactID has a 5-second wait for dynamic content; longer delays fail.
  • The form is behind an interaction (a “Show Form” button). ContactID doesn’t click random buttons; it looks for visible forms.

5. Working Around

  • Iframe forms: Check the failure reason. If ContactID reports iframe detection: file with support.
  • Dynamic forms: Test the URL in a Test Send first; watch what happens.
  • Hidden forms: Add the direct form URL if possible (many sites have a /contact-form URL).

6. Reporting Detection Issues

  • Copy the failing URL.
  • Note the specific field that isn’t being detected.
  • Send to [email protected].
  • Include a screenshot of the field in question.

Detection improvements ship in extension updates every 2 to 4 weeks. Common issues get fixed within one release cycle.

7. Field Matching Rules

ContactID matches fields to agent data via multiple signals:

  • Field label (“Name”, “Full Name”, “Your Name”).
  • Field name attribute (“name”, “full_name”, “your_name”).
  • Field placeholder text.
  • Field id (“name_field”, “contact_name”).
  • Adjacent text nodes.

If none of these signals point to a known type (name, email, message, subject), the field is left blank and marked “no confident match”.

8. Manual Override

There is no per-site field override yet. All sites use the same detection rules.

Some enterprise customers get custom rules for specific target platforms (Salesforce, HubSpot forms). Contact sales if you have specific site requirements.

Cloudflare Turnstile, hCaptcha, and reCAPTCHA are bot-protection services that block automated submissions. ContactID does not bypass them. Here is what to do when you hit one.

1. How To Recognize Bot Protection

Signs the target site has bot protection:

  • Site loads but the form submission fails with “Bot detection blocked submission”.
  • Screenshot shows a captcha widget or Cloudflare challenge page.
  • The site is hosted on Cloudflare (check the response headers if you know how).

2. Why ContactID Doesn’t Bypass

Bypassing bot protection:

  • Violates most sites’ terms of service.
  • Can get your account’s IP address permanently banned by these services.
  • Signals disrespect to the target site’s expressed communication preferences.

ContactID is designed for legitimate outreach. Sites with bot protection have explicitly opted out of receiving automated submissions.

3. What You Can Do

  • Skip that site. Add it to your personal skip list; ContactID doesn’t automatically add to a global list.
  • Contact via other means. Email directly, LinkedIn, or manual form fill.
  • Filter your list. Before importing, remove Cloudflare-hosted domains from your CSV (Cloudflare covers ~20% of the internet).

4. Testing For Bot Protection

Before importing a large list, spot-check:

  • Open 5 random URLs in your browser.
  • Look for Cloudflare “Verifying you are human” pages.
  • Look for hCaptcha or reCAPTCHA widgets.
  • If several show these, expect a high bot-protection failure rate.

5. Sites That Almost Always Have Bot Protection

  • Government sites (federal, state, local).
  • Banks and financial services.
  • Healthcare providers.
  • Major SaaS companies (Salesforce, HubSpot, etc.).
  • Large e-commerce (Amazon, Shopify stores).

Filter these categories out of your list before importing.

6. Cloudflare Turnstile Vs Full Challenge

Cloudflare has two levels:

  • Turnstile (invisible). Runs automatically, may pass or fail without user interaction.
  • Managed challenge. Requires user interaction; ContactID cannot proceed.

Turnstile may occasionally let ContactID through; managed challenges never do.

7. reCAPTCHA v2 Vs v3

  • v2 (checkbox “I am not a robot”): Blocks ContactID always.
  • v3 (invisible score-based): ContactID may pass or fail depending on the site’s score threshold. Higher-security sites always block.

8. Alternative Automation

Some tools claim to bypass Cloudflare via headless browser tricks. Do not use these; they:

  • Get your IP burned quickly.
  • Result in permanent Cloudflare account-level blocks.
  • Damage your outreach for months afterward.

ContactID’s approach (respect the block, move on) is the sustainable choice.

This error is rare but confusing. It means ContactID’s payment or wallet lookup failed at a specific point in the flow. Here is what causes it and how to recover.

1. Where You’d See This Error

  • At the start of a batch: “Billing system temporarily unavailable. Please try again in a moment.”
  • During AI Personalization: “AI wallet unavailable; falling back to unpersonalized send.”
  • On a top-up attempt: “Billing system temporarily unavailable. Try again in a few minutes.”

2. What It Usually Means

  • ContactID’s Stripe integration is momentarily unresponsive.
  • Your account’s wallet record is being updated by another process (rare).
  • A transient network issue between ContactID’s server and the payment processor.

3. What To Do

  • Wait 30 seconds to 2 minutes.
  • Try the same action again.
  • 99% of the time it resolves.

4. If It Persists

If the error keeps happening after 5 minutes of retries:

  • Check ContactID’s status page at status.contactid.app.
  • Look for an ongoing incident notice.
  • If an incident is listed, wait for it to resolve.

5. Is Anything Charged During The Error?

  • No. If the error appears, no charge was made.
  • ContactID’s payment logic is designed to fail closed: any uncertainty results in an error rather than a partial charge.

6. Reserved Credits During The Error

If a batch was in progress when the error hit:

  • The batch pauses.
  • Reserved credits stay reserved.
  • When you retry (successfully), the batch continues with the same reservation.
  • Reserved credits are released if the batch is cancelled or times out (24 hours).

7. Related Cause: Auto-Recharge Failure

If auto-recharge is enabled and your saved card is declined:

  • The auto-recharge fails.
  • Subsequent AI-personalized sends see “Billing system temporarily unavailable” until you update your card.
  • Fix: update the payment method or top up manually.

8. Contacting Support

If this error blocks you for more than 30 minutes:

  • Contact [email protected].
  • Include: exact error message, time it started, screenshot.
  • Support can force-reset any stuck wallet state on our side.

Occasionally you’ll see “Session expired. Please sign in again.” even though you were just active. Here is what causes it and how to prevent it.

1. What “Session Expired” Actually Means

Your session token has been invalidated on ContactID’s server. Reasons include:

  • 30 days of inactivity (the sliding window expired).
  • Password change on another device.
  • Email change.
  • Explicit “Sign Out Everywhere” action from any device.
  • Suspected account compromise with automatic sign-out.
  • Server-side session cleanup (very rare).

2. Sliding Window Reminder

ContactID uses a 30-day sliding session:

  • Each valid use extends the session by another 30 days.
  • Session-extension writes are throttled to once per 60 minutes.
  • If you’re active daily, you effectively never see this error.

3. Fixing It

  • Sign in again with email + password (or Google).
  • Your data (agents, credits, activity) is preserved.
  • Batches in progress on the same device continue if signed back in promptly.

4. Why It Might Feel Random

Sometimes users see the error after only a few days of inactivity. Usually because:

  • A different device’s action (password change, Sign Out Everywhere) invalidated all sessions.
  • The extension in a different browser triggered a global sign-out.

5. Preventing Frequent Expiries

  • Use ContactID at least once every 30 days on each device.
  • Avoid frequent password changes.
  • Don’t use “Sign Out Everywhere” unless you’re intentionally resetting sessions.

6. Session Errors During A Batch

If a session expires mid-batch:

  • The batch pauses.
  • The side panel shows the sign-in prompt.
  • Sign in; the batch resumes.
  • No URLs are lost.

7. Multiple Sessions Timing Out At Once

If you had multiple sessions (e.g., extension + dashboard + phone) and they all expired around the same time:

  • Almost certainly a global sign-out event triggered them.
  • Check Account Settings > Sessions on next sign-in to confirm.
  • If you didn’t trigger it, treat it as potential compromise: change password + enable 2FA.

8. Frequent Expiry Reports

If session expiries feel excessive:

  • Report to support with dates/times.
  • Support can check server-side logs for the actual cause.
  • Sometimes reveals a bug we can fix.

Occasionally users report that the extension keeps opening the same URL over and over. This is a known bug pattern with specific causes. Here is what to do.

1. What The Symptom Looks Like

  • The extension opens Tab A for URL X.
  • Tab A closes (or the batch stops).
  • The extension opens Tab B for URL X.
  • Tab B closes.
  • Tab C for URL X. Etc.

Rather than moving to the next URL, ContactID retries the same URL in an infinite loop.

2. First: Pause The Batch Immediately

  • Open the side panel.
  • Click Pause.
  • The looping stops.

If Pause doesn’t respond, close the side panel or the Chrome window entirely.

3. What Usually Causes This

  • Server-side wallet lookup error. Rare, but can cause the client to interpret “no wallet” as “retry”.
  • Extension state corruption. Local storage confused about queue state.
  • AI Personalization repeatedly failing. Wallet empty, fallback disabled, retry fires immediately.
  • Circuit breaker not tripping. A rare pattern where individual URLs fail but the breaker doesn’t catch it.

4. Fixing After Pause

  • Reload the extension (chrome://extensions/, click Reload).
  • Sign back in if prompted.
  • Check the URL that was looping in Activity.
  • Understand the failure reason.
  • Manually skip or address the underlying cause.

5. Preventing Repeat

The recent server-side fix (“wallet pre-flight bulletproofing”) addresses the most common cause. Ensure you’re on the latest extension version:

  • Go to chrome://extensions/.
  • Enable Developer Mode.
  • Click Update.

6. Circuit Breaker As Safety Net

The circuit breaker (introduced to catch this exact pattern) trips after 20 consecutive failures on the same domain. Once it trips, the batch pauses automatically.

If you see tabs opening repeatedly but the breaker hasn’t tripped, something is unusual; report to support.

7. Reporting

If this happens to you:

  • Note the URL that was looping.
  • Note the batch you were running.
  • Note the extension version.
  • Send to [email protected].
  • Support can look at server-side logs for the specific pattern.

8. Emergency Reset

For a nuclear reset:

  • Go to chrome://extensions/.
  • Click Remove for ContactID.
  • Restart Chrome.
  • Reinstall ContactID.
  • Sign back in.

Your data (dashboard side) is preserved. Local queue is cleared.

You have AI Personalization enabled but the sent messages look identical to your original pitch template, or the personalization seems generic. Here is how to diagnose.

1. First: Confirm AI Is Actually Enabled

  • Go to AI Personalization in your dashboard.
  • Confirm the toggle for your active agent is on.
  • Check the “Mode” (full-message vs placeholder).

If off: turn on and try again.

2. Second: Confirm Wallet Balance

  • Check your AI wallet balance.
  • If it’s $0: personalization is silently falling back to your literal pitch (default fallback mode).
  • Top up your wallet; personalization will resume.

3. Third: Check The Activity Log

  • Go to Activity.
  • Click a recent send from the batch in question.
  • The “Message Sent” field shows exactly what went out.
  • Compare to your original pitch template.

If they’re identical: AI didn’t run for that send. Look at the “AI cost” column; if $0, the AI call didn’t happen.

4. Fourth: Check For Fallback Events

The Activity detail shows a tag if AI fell back:

  • “AI wallet empty” if wallet ran out.
  • “AI service timeout” if the AI provider was slow.
  • “AI content rejected” if the AI returned unusable output.

Any of these means personalization was attempted but didn’t complete.

5. Fifth: Test With The Prompt Tester

  • Go to AI Personalization > Prompt Tester.
  • Enter a target URL.
  • Click Preview.
  • The generated message shows what would be sent.

If the Preview looks generic:

  • Your prompt instruction is too broad. Refine (see the article on writing prompts).
  • The target site has minimal content. AI has nothing specific to reference.

6. Sixth: Check Model Availability

Rare but possible:

  • Primary AI model is down.
  • ContactID’s failover is falling through to a much simpler model.
  • Output quality drops.

Check status.contactid.app for AI service incidents.

7. Placeholder-Mode Specific Issues

If using placeholder mode (like {sell}):

  • Confirm you’re using the exact placeholder name.
  • Case-insensitive, but typos count: {Sale} won’t fire the {sell} prompt.
  • Confirm the custom prompt for that placeholder exists in AI Personalization > Custom Prompts.

Unknown placeholders are left as literal {name} in the sent message.

8. Common Fix: Improve Your Prompt

Most “AI seems generic” complaints trace to a weak instruction:

  • Bad: “Write a personalized opener.”
  • Better: “Write a one-sentence opener that references something specific about the target’s business, mentioned on their About page. Keep it under 20 words. Do not use ‘I hope this finds you well’.”

The better instruction is much more likely to produce distinctive output.

9. Contacting Support

If personalization consistently fails despite:

  • Wallet has balance.
  • AI toggle is on.
  • Prompt is well-written.
  • Test preview shows good output.

Contact support with:

  • The pitch template.
  • 3 sample target URLs.
  • Screenshots of the Test Preview output.

An Import Job stuck in PARSING or VALIDATING for over 5 minutes indicates a processing issue. Here is what to check.

1. Check The Import Size

  • Small imports (under 5,000 URLs) finish in seconds. If stuck: something is wrong.
  • Large imports (5,000 to 50,000 URLs) can take 2 to 10 minutes; not stuck, just working.
  • Very large imports (over 50,000) can take 20+ minutes.

2. Check The Import Jobs Page

  • Go to Import Jobs in your dashboard.
  • Find the stuck job.
  • Note its exact status.

If the status is stuck on:

  • PARSING for over 10 minutes: server-side issue with your file.
  • VALIDATING for over 30 minutes: unusually large or complex validation load.
  • IN_PROGRESS for over 24 hours: the batch stalled; probably needs manual restart.

3. Common Causes For Stuck PARSING

  • File encoding issues. CSV with non-UTF-8 characters can hang.
  • Malformed file. Missing headers, misaligned columns.
  • File too large for immediate parsing. Over 50,000 rows.

Fix: cancel the job and re-import as a smaller, cleaner file.

4. Common Causes For Stuck VALIDATING

  • Very heavy duplicate checking if your list overlaps massively with past sends.
  • Server-side rate limiting during peak hours.
  • Backend maintenance window.

Fix: wait 15 minutes. If still stuck, cancel and retry.

5. Cancelling A Stuck Job

  • On the Import Jobs page, click the row.
  • Click Cancel.
  • Confirm.

The job is marked CANCELLED. Any URLs that were already added to your queue stay; unprocessed rows are discarded.

6. Cannot Cancel A PARSING Job

Rarely, the Cancel button doesn’t respond because the parsing process is genuinely stuck:

  • Contact support with the job ID.
  • Support can force-cancel from the server side.

7. Preventing Stuck Jobs

  • Split large files into 5,000 to 10,000 row chunks.
  • Use UTF-8 encoding for your CSVs (Excel: Save As > CSV UTF-8).
  • Clean headers (single row, simple names like “URL”).
  • Remove non-standard characters from your data.

8. Server Status Check

Before assuming an issue is on your end:

  • Check status.contactid.app.
  • Look for import-related incidents.
  • If there’s an ongoing incident, wait it out.

9. Reporting

If a job has been stuck for over 30 minutes and no incident is posted:

Support can investigate and, if it’s a server-side issue, restart the processor.

Occasionally a payment appears to fail in ContactID but you see the charge on your card statement. Confusing but usually resolves quickly. Here is what to do.

1. Understand Why This Happens

Typical scenario:

  • ContactID initiates a payment via Stripe.
  • Your bank authorizes the payment (charge appears on statement).
  • Something goes wrong before Stripe confirms back to ContactID (network hiccup, timeout).
  • ContactID shows “Payment failed” and doesn’t credit your account.
  • The authorized charge may either:
  • Auto-refund within 5-7 days (most common outcome).
  • Stay charged and need manual reversal.

2. First: Check Payment History In ContactID

  • Go to Billing > History.
  • Look for the payment attempt.
  • Its status:
  • Succeeded: ContactID has your money and credited your account. Something else caused the “failed” message.
  • Failed: ContactID didn’t receive successful confirmation.

3. Second: Check Your Card Statement

Look for the specific charge:

  • ContactID charges appear with descriptor “ContactID” or “Ainfluencer Inc”.
  • Look for the amount and date matching your attempt.

If the charge is present and settled on your card, but ContactID shows failed: you need a resolution.

4. Waiting First (Usually Enough)

  • Wait 5-7 business days.
  • Watch your card statement.
  • Authorization holds typically release automatically if not settled.
  • You may see the charge disappear from your statement.

5. If The Charge Doesn’t Disappear

Contact support:

  • Email [email protected].
  • Include:
  • Your account email.
  • Amount and date of the charge.
  • Stripe reference ID or transaction ID from your card statement.
  • Screenshot of your card statement.

Support looks up the transaction on Stripe’s side and either:

  • Confirms the credit is on your account (dashboard sync issue; refreshing shows it).
  • Refunds the charge if it settled without credit issuance.
  • Manually credits the account if the payment did succeed but the account wasn’t updated.

6. Resolution Timeframe

  • Simple sync issues: Same-day resolution.
  • Refunds: 3-5 business days for the refund to appear on your card.
  • Manual credit issuance: Same-day resolution once support confirms.

7. Preventing This

  • Avoid retrying failed payments repeatedly. Each attempt may authorize on your card.
  • Wait for a clear failure message before retrying.
  • Use a stable internet connection during checkout.

8. Multiple Duplicate Charges

If you see multiple charges from ContactID for the same purchase:

  • Contact support immediately.
  • Don’t file a chargeback with your bank yet; support can resolve faster.
  • Provide all Stripe reference IDs.

Duplicates typically refund within 24 hours after support confirms.

If your imported URLs are marked SKIPPED instead of being processed, ContactID’s deduplication or filtering caught them. Here are the reasons and how to override.

1. The Common Reasons For Skip

  • Duplicate within the same import. URL appears more than once in the file.
  • Duplicate against your queue. URL is already in your queue from a prior import.
  • Recently contacted. URL was successfully sent to with any agent in the last 7 days.
  • Blocklisted domain. ContactID does not send to this domain.
  • Invalid URL format. URL couldn’t be parsed as a real web address.

Click any SKIPPED row in the queue or Activity for the specific reason.

2. Normalization And Duplicate Detection

URL normalization treats these as the same:

  • http:// vs https://
  • www vs no www.
  • Trailing slash or not.
  • Different paths on the same domain (/contact vs /about).
  • Query parameters (?utm_source=…).

If two URLs in your list point to the same domain, only one is added.

3. Recontact Cooldown

The 7-day cooldown protects target sites from spam:

  • After a successful send, the domain is off-limits for 7 days.
  • Attempting to re-add within that window results in SKIPPED.
  • After 7 days, the domain is fair game again.

4. Overriding The Cooldown

  • Import your list.
  • On the Import Preview, the “already contacted” URLs show a checkbox for “Contact again”.
  • Tick to override the cooldown for those specific URLs.
  • Confirm.

The overridden URLs are added despite the cooldown.

5. Overriding The Blocklist

The blocklist is not overridable. If a domain is blocklisted:

  • Consumer platforms (Facebook, LinkedIn, Instagram).
  • Government sites.
  • Adult content.
  • Sites explicitly asking to be removed.

These stay off-limits regardless of override attempts.

6. Cross-Agent Duplicate Handling

The recontact cooldown is per-account, not per-agent:

  • If you contacted acme.com with Agent A yesterday, you can’t recontact with Agent B for 7 days.
  • Multiple agents don’t reset the clock.

7. Reviewing Skipped URLs

  • Go to Activity, filter to SKIPPED.
  • See every URL skipped and why.
  • Useful for planning: “we’ve been contacting a lot of duplicates; let me refine my source list”.

8. Reducing Skips

  • Deduplicate your source list before importing.
  • Track which domains you’ve contacted in your CRM.
  • Segment your list so different segments don’t overlap.

Sign-in issues in the extension have a few common causes distinct from the dashboard. Here is the checklist.

1. First: Confirm Your Dashboard Login Works

  • Open contactid.app in a normal browser tab.
  • Try to sign in with the same credentials.
  • If dashboard sign-in fails too: your credentials are wrong or account is locked. Reset password.

If dashboard works but extension doesn’t: continue.

2. Reload The Extension

  • Go to chrome://extensions/.
  • Find ContactID.
  • Click the Reload icon.
  • Try signing in again.

Fixes a lot of state-related issues.

3. Check Extension Storage

  • On chrome://extensions/, click Details on ContactID.
  • Click Extension options or Reset extension data.
  • Confirm.
  • Sign in again.

Clears any corrupted local storage.

4. Sign-In With Google Isn’t Working

If you signed up with Google:

  • The extension must use Google sign-in too.
  • Email/password won’t work for a Google-created account.
  • Click “Continue with Google” in the extension sign-in screen.

If the Google flow doesn’t open a popup:

  • Chrome may be blocking third-party popups.
  • Allow popups from contactid.app in Chrome settings.

5. 2FA Blocking Sign-In

If you have 2FA enabled:

  • The extension prompts for 2FA code after password.
  • Enter the code from your authenticator app.
  • If you don’t have the code: use a backup code.

If backup codes are also unavailable:

  • Sign in to the dashboard (which will accept a backup code).
  • Disable 2FA temporarily.
  • Sign in to the extension.
  • Re-enable 2FA and set up on your new device.

6. Sign-In Loop

If the extension shows “Signed in” briefly then reverts to sign-in prompt:

  • Session isn’t being persisted (extension storage issue).
  • Reset extension data (step 3).
  • Try again.

7. “Invalid Credentials” But They Are Correct

  • Confirm you’re using the same email you signed up with.
  • Check for typos in email (subtle: gmial.com vs gmail.com).
  • Try resetting the password.
  • Try in an incognito Chrome window (rules out extension conflicts).

8. Chrome Profile Issues

Extensions are per-Chrome-profile. If you have multiple Chrome profiles:

  • Confirm you’re in the profile where ContactID is installed.
  • Install ContactID in the other profile if needed.

9. Contacting Support

If none work:

  • Try the extension in a fresh Chrome profile (rules out data corruption).
  • Try in Brave or Edge (rules out Chrome-specific issues).
  • Report to support with details of what you tried.

You’ve imported URLs, chosen an agent, and clicked Start, but nothing happens. Here are the common causes.

1. Confirm Prerequisites

Every batch needs:

  • You are signed in to the extension.
  • URLs in the queue (check the Queue tab).
  • An agent selected (check the top of the side panel).
  • Website credits (check the balance display).

Missing any of these blocks the batch.

2. Confirm You Actually Clicked Start

  • The button toggles from “Start Batch” to “Pause” when a batch is running.
  • If it still says “Start Batch”: your click didn’t register.
  • Try clicking again.

3. Circuit Breaker Not Reset

If a previous batch tripped the circuit breaker:

  • The new batch may be prevented from starting.
  • Reset the breaker: open the side panel, click any breaker warning banner, confirm reset.

4. Chrome Window Not In Focus

Chrome pauses background tabs when the browser is out of focus for extended periods:

  • Bring Chrome to the foreground.
  • Try starting the batch.

5. Wallet Empty

  • If your website credit balance is 0: batches cannot start.
  • Buy PAYG credits or subscribe.

6. Agent Missing Required Fields

Some agent fields are required for sends:

  • First name.
  • Last name.
  • Email.
  • Pitch message.

If any is missing: batch fails to start with “Agent incomplete” message.

7. Import Job Not Complete

If you just imported URLs:

  • Wait for the import to reach QUEUED status.
  • Import Jobs status must be QUEUED before batch can start.
  • Very large imports may still be VALIDATING.

8. Rate Limit Currently Active

If you recently ran a batch:

  • Rate limits may be still in effect (60/minute cap).
  • Wait 60 seconds and try again.

9. Extension Version Outdated

  • Very old extension versions can have start-failure bugs.
  • Update via chrome://extensions/ > Update.

10. Server-Side Issue

  • Check status.contactid.app for incidents.
  • If server issues are ongoing, wait for resolution.

11. Reset And Retry

If nothing else works:

  • Pause any active batch.
  • Sign out of the extension.
  • Reload the extension.
  • Sign back in.
  • Retry the batch.

Still stuck? We’re happy to help.

Install the extension, sign up, or reach out to support directly.

Back to Help Center