CRM migration
Field-level mapping, validation, and rollback between Alpine IQ and Pipedrive. We move data and schema; workflows are rebuilt natively in Pipedrive.
Alpine IQ
Source
Pipedrive
Destination
Compatibility
7 of 10
objects map 1:1 between Alpine IQ and Pipedrive.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Alpine IQ to Pipedrive is a structural migration from a purpose-built regulated-industry loyalty platform to a general-purpose sales CRM. Alpine IQ uses Personas as the primary contact unit with separate Order records, Loyalty point balances, and Audience membership, none of which map to native Pipedrive objects. We create custom fields on the Person record for med_id, compliance flags, loyalty tier, point balance, and SMS opt-in status before importing, ensuring that no contact PII or behavioral signal is lost. The Order-to-Deal mapping preserves order IDs, item data, and attribution parameters as custom fields and linked notes, but Pipedrive has no native order management, so the order line item detail lives as structured custom-object records. Audience membership and discount groups migrate as Pipedrive tags and custom picklist fields. Workflows, Flows, and SMS compliance automation do not migrate; we deliver a written inventory for the customer admin to rebuild.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Alpine IQ object lands in Pipedrive, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Alpine IQ
Persona (Contact)
Pipedrive
Person
1:1Alpine IQ Persona records map to Pipedrive Person. Standard fields (firstname, lastname, email, phone) map directly. Birthdate migrates to Pipedrive's birth_date field where supported or a custom date field. Address components (address, city, state, zip, country) combine into Pipedrive's address field as a formatted string. Medical ID maps to a custom text field med_id__c. Gender migrates as a custom picklist field. The integration source ID on each Persona is preserved in a custom field aiq_source_id__c to maintain the record lineage from the originating POS or ecommerce integration.
Alpine IQ
Order
Pipedrive
Deal + custom object
1:manyAlpine IQ Order records include order ID, status, timestamps, customer PII, item data (product name, category, SKU, brand, price, discount), payment details, and attribution params. Since Pipedrive has no native order object, we map order-level fields (order ID, total, status, timestamps) to a Deal record, and item-level detail (line items, product SKU, quantity, discount) to a custom object linked via DealId. Attribution params (attr) migrate as custom fields and are also written to a linked note for pipeline attribution reporting.
Alpine IQ
Company
Pipedrive
Organization
1:1Alpine IQ does not have a dedicated Company object, but store and dispensary location data is stored in the Location configuration. Multi-location accounts use the Location records to group contacts by store. We map each Alpine IQ Location to a Pipedrive Organization record with the store name as the Organization name and the store address as the address field, enabling contacts to be linked to their home dispensary location via the Person-Organization relationship.
Alpine IQ
Loyalty Program (Points and Tiers)
Pipedrive
Custom fields on Person
lossyLoyalty point balances and tier names are stored on the Persona record in Alpine IQ. We export point_balance as a custom numeric field loyalty_points__c and tier_name as a custom picklist field loyalty_tier__c. Reward overrides and point multipliers per audience are preserved as custom fields loyalty_multiplier__c and reward_override__c. The rules governing point expiration, tier progression, and reward eligibility are configuration-level settings in Alpine IQ and do not export. We instruct the customer to request a loyalty program configuration snapshot before migration and rebuild equivalent rules in Pipedrive or a loyalty integration post-cutover.
Alpine IQ
Audience
Pipedrive
Tag + custom field
1:manyAlpine IQ Audiences are segmented contact groups used for campaign targeting. Each contact can belong to multiple audiences with a points multiplier per audience. We map audience membership to Pipedrive Tags (one tag per audience name) and write the points multiplier value to a custom field audience_multiplier__c stored on the Person. For accounts with complex multi-audience membership, we also create a custom multi-select picklist field audience_list__c listing all active audiences for quick segmentation in Pipedrive's filter view.
Alpine IQ
Discount Group
Pipedrive
Custom field on Person
1:1Alpine IQ discount groups define POS-level discount eligibility and map to customer eligibility flags in the Dutchie and Flowhub integrations. We export the discount_group name and eligibility status as a custom text field discount_group__c and a custom boolean field discount_eligible__c on the Person record. These flags help the customer's Pipedrive admin configure discount-eligible pricing in Deals if the dispensary retains a POS-integrated pricing model.
Alpine IQ
Opt-In Record
Pipedrive
Custom fields on Person
1:1Email and SMS opt-in status in Alpine IQ is tracked via /api/v2/optin endpoints per email address or phone number. We export sms_opt_in and email_opt_in as custom boolean fields on the Pipedrive Person. The double-opt-in flow configuration is Alpine IQ-specific and does not transfer; the customer must configure equivalent double-opt-in sequences in Pipedrive or their email service provider post-migration. Suppressed contacts require querying alternative endpoints before standard GET export to avoid silent omission.
Alpine IQ
Attribution Parameters (attr)
Pipedrive
Custom fields + Note on Deal
1:1The attr parameter in Alpine IQ tracks campaign attribution (source, medium, campaign) at the order level. Attribution values migrate as custom text fields deal_attr_source__c, deal_attr_medium__c, and deal_attr_campaign__c on the Deal. We also write the full raw attr string to a linked Note on the Deal for audit purposes. The customer can use these fields to build Pipedrive report filters and campaign ROI analysis by source.
Alpine IQ
Custom Contact Properties
Pipedrive
Custom fields on Person
1:1Alpine IQ supports custom fields on Persona records via override endpoints. We export all custom properties alongside standard fields and create matching custom fields in Pipedrive using the same field labels and appropriate Pipedrive field types (text, numeric, date, picklist, boolean). Pipedrive Essential limits custom fields to approximately 50; Professional and above support up to 500. During scoping we confirm the total custom field count against the target Pipedrive edition and flag any overage for the customer to resolve before migration begins.
Alpine IQ
Integration Source ID
Pipedrive
Custom field on Person
1:1Every Alpine IQ contact carries a source ID from the POS or ecommerce integration that created it (Dutchie, Cova, Flowhub, etc.). The /api/v1/piis/:uid/bySrcID endpoint allows lookup by source ID. We preserve all source IDs in a custom field aiq_source_id__c on the Pipedrive Person, enabling the customer to cross-reference migrated contacts against the original Alpine IQ records during the validation window. Push notification IDs (device tokens) do not transfer between platforms and are exported as a written list for the customer's mobile team to manage re-enrollment post-migration.
| Alpine IQ | Pipedrive | Compatibility | |
|---|---|---|---|
| Persona (Contact) | Person1:1 | Fully supported | |
| Order | Deal + custom object1:many | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Loyalty Program (Points and Tiers) | Custom fields on Personlossy | Fully supported | |
| Audience | Tag + custom field1:many | Fully supported | |
| Discount Group | Custom field on Person1:1 | Fully supported | |
| Opt-In Record | Custom fields on Person1:1 | Fully supported | |
| Attribution Parameters (attr) | Custom fields + Note on Deal1:1 | Fully supported | |
| Custom Contact Properties | Custom fields on Person1:1 | Mapping required | |
| Integration Source ID | Custom field on Person1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Alpine IQ gotchas
Blocklist contacts excluded from standard API GET
Store name matching required for loyalty attribution
Initial integration sync delay up to 24 hours
Points and tier expiration logic not exported
Pipedrive gotchas
Custom field hash keys differ per account
Export access gated by visibility groups
Token-based API rate limits since December 2024
Sequences and Automations not exposed via REST API
Cost escalates via workflow caps and add-ons
Pair-specific challenges
Migration approach
Discovery and schema design
We audit the Alpine IQ account across all integrations, persona properties, order volume, audience count, loyalty program configuration, and blocklist volume. We confirm the target Pipedrive edition and validate that the total custom field count (med_id, loyalty_points, loyalty_tier, opt-in flags, discount_group, attribution params, and any custom persona properties) fits within the Pipedrive custom field limit for the chosen tier. We extract the full store and location mapping configuration to identify any store name mismatches between Alpine IQ and the connected POS. The discovery output is a written migration scope document with the full field mapping table and a list of schema pre-creation tasks for the customer's Pipedrive admin.
Pipedrive custom field and schema pre-creation
Before any data export from Alpine IQ, we create all required custom fields in the destination Pipedrive account. This includes med_id__c, loyalty_points__c, loyalty_tier__c, aiq_source_id__c, sms_opt_in__c, email_opt_in__c, discount_group__c, discount_eligible__c, deal_attr_source__c, deal_attr_medium__c, deal_attr_campaign__c, and any additional custom properties from the Alpine IQ persona schema. For multi-location accounts, we also pre-create Organization records for each Alpine IQ store location. Pipedrive API endpoints for field and organization creation use the REST API with rate-limit handling and idempotency keys to avoid duplicates on re-runs.
Data extraction from Alpine IQ in dependency order
We extract Alpine IQ data in a strict dependency order to satisfy referential integrity on the Pipedrive import. We begin with Organization records (from Location data) since Person records link to Organization. Next we extract Persona records with all standard PII fields, loyalty data, opt-in status, and custom properties in chunked batches. Order records export next with customer PII and attribution params. Audience membership exports as a separate CSV mapped to tags and the audience_multiplier__c field. For blocklist contacts we query alternative endpoints or request a manual export from Alpine IQ support, then cross-reference against the standard export to identify and fill any gaps. All exports use the Alpine IQ REST API with rate-limit backoff and batch chunking.
Pipedrive import with parent-record resolution
We import Organizations first using the store name as the dedupe key. Persons import second with OrganizationId resolved via name matching, aiq_source_id__c preserved for cross-reference, and loyalty custom fields populated. Deals import third with PersonId resolved via email match and OrganizationId resolved via the Organization dedupe key. Order item detail (line items, SKU, discount) imports into the custom DealLineItem object with DealId resolved to the parent Deal. Tags import via the Pipedrive tags API after Person import completes. Attribution fields populate on Deals from the order export. We run reconciliation counts after each phase to confirm record counts match the Alpine IQ export totals.
Validation and reconciliation
We validate the migrated dataset against the Alpine IQ source records across five dimensions: total Person count (adjusted for blocklist gap), Organization count, Deal count, custom field population rate, and tag coverage for audience membership. We run a spot-check on 25-50 randomly sampled records comparing firstname, lastname, email, phone, loyalty_points__c, and loyalty_tier__c between Alpine IQ and Pipedrive. Any records with null required fields, unmatched Organization lookups, or failed tag assignments are flagged in a remediation report for the customer admin to resolve. The customer receives a final reconciliation report before cutover.
Cutover, delta sync, and workflow handoff
We freeze writes to Alpine IQ during the cutover window and run a final delta export capturing any records modified after the initial export timestamp. The delta imports into Pipedrive using the same dependency order and reconciliation process. We enable Pipedrive as the system of record and disable the Alpine IQ integration. We deliver the full migration data dictionary documenting every custom field created, its Alpine IQ source field, and its Pipedrive usage recommendation. The loyalty program rule set and automation inventory are delivered as a separate written document for the customer admin to rebuild in Pipedrive. We do not rebuild Flows or automations as part of standard migration scope; that is a separate engagement.
Platform deep dives
Alpine IQ
Source
Strengths
Weaknesses
Pipedrive
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Alpine IQ and Pipedrive.
Object compatibility
3 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Alpine IQ: 5 requests per second, 120 per minute, and 2,000 per hour per documented developer guide..
Data volume sensitivity
Alpine IQ doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Alpine IQ to Pipedrive migration scoping. Not seeing yours? Book a call.
Walk through your Alpine IQ to Pipedrive migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Alpine IQ
Other ways to arrive at Pipedrive
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.