Setup Your Outreach

Importing Target Websites

Bring URLs into ContactID via CSV, paste, or manual entry. Understand per-import caps, deduplication, and Import Job statuses.

Importing means loading a list of target website URLs into ContactID so the extension can visit them and fill out their contact forms. Every campaign starts with an import.

Three import methods:

  1. CSV file upload. Best for lists you built in spreadsheets or exported from another tool. One URL per row, in the first column.
  2. Manual paste. Best for small lists or one-offs. Paste up to your plan’s per-import cap into the text box, one URL per line.
  3. Adding one URL at a time. Best when browsing manually and adding as you go.

All three feed the same queue. Once URLs are in the queue you can start a batch from the extension side panel. See running campaigns for the next step.

CSV is the most common import method for lists over a few dozen URLs. Here is exactly how it works.

1. Prepare the CSV. Requirements:

  • UTF-8 encoding (Excel and Google Sheets default to this).
  • One URL per row in the first column.
  • Header row optional. If present, name the first column url.
  • Full URLs including https:// (ContactID auto-adds it if missing).

2. Upload from the dashboard.

  1. Sign in and go to Imports in the sidebar.
  2. Click Import CSV.
  3. Pick your file. Preview shows the first 5 rows and detected column.
  4. Confirm to start parsing.

3. Import size limits. Per-import caps depend on your plan (see the “How Many Websites Can You Import At Once?” article below). No daily limit exists, so large lists can be uploaded as consecutive imports.

Manual entry works for small batches or ad-hoc additions during browsing.

1. From the dashboard (paste box).

  1. Go to Imports, click Paste URLs.
  2. Paste your list, one URL per line.
  3. Click Add to queue.

The paste box respects the same per-import cap as CSV upload.

2. From the extension side panel (single URL).

  1. Open the DMpro side panel while on a website.
  2. The URL of the current tab is pre-filled.
  3. Click Add to queue.

Handy for building a queue by browsing sites and adding one at a time.

ContactID deduplicates aggressively so you don’t spam the same site twice.

1. Deduplication scope.

  • Within the import file. If the same URL appears twice in one CSV, only the first is added to the queue.
  • Against your queue. If a URL is already Queued or In Progress, the duplicate import is dropped.
  • Against recent sends. If you successfully contacted a URL with any agent in the last 7 days, the duplicate is dropped.

2. URL normalization. ContactID treats these as the same URL:

  • With and without www.
  • With and without trailing slash
  • With and without http:// vs https://
  • Different casing of the domain

3. Skipped URLs report. After every import, the Import Job summary lists how many URLs were dropped as duplicates so you know exactly what went in vs what was filtered.

To force-send to a duplicate, remove the earlier record from your queue first (see running campaigns).

Importing 1,000 URLs is very different from importing 10. Practices that make big batches run smoothly:

1. Clean the list before importing. Credits are only spent when a form is actually filled, so a dirty list does not cost anything to import, but garbage URLs waste time and can burn a credit if a junk page happens to have a form. Before import, remove:

  • Non-web URLs (LinkedIn profiles, Twitter handles, phone numbers, email addresses)
  • Homepages of aggregators, directories, marketplaces (rarely have their own contact forms)
  • Social media pages (Facebook, Instagram, LinkedIn pages are not filled by ContactID)
  • Duplicates (ContactID dedupes, but clean lists preview more clearly)

2. Match import size to your plan. Split large lists to fit your per-import cap: PAYG/free 50, Starter 500, Growth 1,000, Pro 2,500, Scale unlimited. There is no daily import limit, so you can upload multiple back-to-back imports on any plan.

3. Pace the sending, not the import. Sending pace is governed by your concurrency setting (default 5 tabs) plus randomized human-like typing between fields. See running campaigns for how to tune concurrency.

4. Test a small batch first. Before firing a 2,000-URL batch, run 20 URLs to confirm your agent, pitch, and AI personalization are working as expected.

Every import creates an Import Job tracked in the Imports section of your dashboard. Here is what each status means and when it appears.

1. Where to see Import Jobs. Sign in, click Imports in the sidebar. The table shows every import, newest first.

2. Status meanings.

  • PARSING. The file is being read and URLs extracted. Usually seconds.
  • VALIDATING. URL format is being checked, duplicates removed. Fast for small imports; up to a minute for 10,000+ rows.
  • QUEUED. URLs are ready in your queue but no batch has been started against them yet. This is where imports sit between “import complete” and “you clicked Start Batch”.
  • COMPLETED. All URLs in the import were processed by a batch. Every URL reached a terminal state (sent, completed, or failed).
  • STOPPED. The batch that was processing this import was stopped. Any URLs the batch did not reach remain in Queued state and will be picked up by the next batch you start.
  • FAILED. The import file itself failed to parse (bad format, unreadable encoding, all URLs invalid). No URLs added to the queue.
Tip: There is no “partially completed” status. When you stop a batch mid-run, the import is marked STOPPED and unprocessed URLs sit in Queued, ready for the next start.

For URL-level statuses (per-website), see the running campaigns article on the queue.

You can cancel an import while it’s in PARSING or VALIDATING state.

  1. Go to Imports in your dashboard.
  2. Find the running import in the table.
  3. Click the Cancel button on its row.

What cancelling does:

  • Stops parsing / validation immediately.
  • URLs already parsed and added to the queue are kept. They stay Queued and are usable in future batches.
  • URLs not yet parsed are discarded.

Imports that reached QUEUED cannot be “cancelled” as such; instead, remove the URLs from your queue or start a batch and stop it early.

The maximum import size depends on your plan. Here are the exact per-import caps.

1. Per-import limits by plan.

PlanPer-import cap
Free tier / Pay-as-you-go50 URLs
Starter500 URLs
Growth1,000 URLs
Pro2,500 URLs
ScaleUnlimited (no per-import cap)

Attempts above your plan limit are rejected with a message. Either upgrade or split the file.

2. Importing large volumes across multiple imports. There is no daily import limit. To load a large list, split it into batches that each fit your per-import cap. For example, on Growth (1,000 per import) you can import a 10,000-URL list as ten imports back to back. On Scale there is no cap, so you can import the full list in one go.

3. Sending capacity is separate from import capacity. How fast you can send is set by your concurrency (default 5, see running campaigns) and your available credit balance (plans and pricing), not by any per-day quota.

Free and paid accounts have different per-import caps but neither has a per-day limit.

1. Free tier at a glance.

  • Import up to 50 URLs per import.
  • No per-day import limit; you can run multiple imports back to back.
  • Send up to your remaining free credit balance (starts at 30).

Once your 30 free credits are used, imports still work but sending stops until you buy credits or subscribe.

2. Paid tier at a glance. On any paid plan (PAYG or subscription) you get:

  • Larger per-import caps that scale with your plan (Starter 500, Growth 1,000, Pro 2,500, Scale unlimited).
  • No per-day import limit at any tier.
  • Sending capacity limited only by your credit balance.

3. When the free tier is enough. Stick with free if you are testing ContactID, doing occasional targeted outreach to under 30 sites, or evaluating the AI personalization quality.

4. When to upgrade. Upgrade when you regularly want to import lists over 50 URLs at once, need more than 30 sends, or want the per-site cost economics of a subscription. See plans and pricing for tier details.

Still stuck? We’re happy to help.

Install the extension, start a free trial, or reach out to support.

Back to Help Center