Client Questionnaire

Piano Analytics + HubSpot Integration Project

Pre-Development Discovery Questions


📋 Purpose of This Document

This questionnaire will help us:

  • ✅ Define exact project scope
  • ✅ Identify all requirements upfront
  • ✅ Prevent scope creep and disputes
  • ✅ Provide accurate estimates
  • ✅ Set clear expectations
  • ✅ Define deliverables precisely

Important: Please answer all questions. "I don't know" or "To be decided" are valid answers, but they affect timeline and cost.


Section 1: Piano Integration - Current State

1.1 Existing Piano Setup

Q1.1: What Piano product(s) are you currently using?

  • [ ] Piano ID (Identity/Authentication)
  • [ ] Piano Analytics (Web Analytics)
  • [ ] Piano Composer (Experience Engine/Paywall)
  • [ ] Piano Activation (Subscription Management)
  • [ ] Piano Amp (CRM/Marketing)
  • [ ] Other: ___________________
  • [ ] Don't know - need to confirm

Q1.2: Is Piano already integrated in your existing application?

  • [ ] Yes, fully functional
  • [ ] Yes, partially working
  • [ ] Yes, but needs fixes
  • [ ] No, needs to be integrated from scratch
  • [ ] Don't know

Q1.3: If already integrated, what is the current integration method?

  • [ ] Iframe
  • [ ] JavaScript SDK
  • [ ] Server-side API
  • [ ] Third-party plugin
  • [ ] Custom implementation
  • [ ] Don't know

Q1.4: Can you provide access to:

  • [ ] Piano dashboard/admin panel
  • [ ] Piano API credentials (read-only for review)
  • [ ] Existing Piano integration code
  • [ ] Piano integration documentation you received
  • [ ] Piano support contact (if available)

Q1.5: What is the Piano iframe URL currently being used?

Answer: _________________________________

Q1.6: Does the Piano iframe currently work correctly?

  • [ ] Yes, works perfectly
  • [ ] Works but has issues (describe): _______________
  • [ ] Doesn't work
  • [ ] Haven't tested
  • [ ] Don't know

Section 2: Piano Integration - Required Functionality

2.1 Authentication Requirements

Q2.1: What authentication flows need to be supported?

  • [ ] User Login
  • [ ] User Signup/Registration
  • [ ] Social Login (Google, Facebook, etc.)
  • [ ] Password Reset
  • [ ] Email Verification
  • [ ] Two-Factor Authentication (2FA)
  • [ ] Remember Me functionality
  • [ ] Single Sign-On (SSO)
  • [ ] Other: ___________________

Q2.2: What user information needs to be collected during signup?

  • [ ] Email (required)
  • [ ] Password (required)
  • [ ] First Name
  • [ ] Last Name
  • [ ] Phone Number
  • [ ] Company Name
  • [ ] Job Title
  • [ ] Country/Region
  • [ ] Custom fields: ___________________

Q2.3: After successful login, where should users be redirected?

Answer: _________________________________
Example: /dashboard, /home, /profile, etc.

Q2.4: What should happen after logout?

  • [ ] Redirect to login page
  • [ ] Redirect to homepage
  • [ ] Show logout confirmation
  • [ ] Clear all user data
  • [ ] Other: ___________________

Q2.5: Do you need "Remember Me" functionality?

  • [ ] Yes
  • [ ] No
  • [ ] Not sure

Q2.6: Session timeout requirements:

Session should expire after: _____ minutes of inactivity
OR
[ ] No automatic timeout
[ ] Don't know - use best practice

Q2.7: Do you need password strength requirements?

  • [ ] Yes (specify): ___________________
  • [ ] No
  • [ ] Use Piano's default

Q2.8: Email verification required?

  • [ ] Yes, users must verify email before login
  • [ ] Yes, but users can login before verification
  • [ ] No verification needed
  • [ ] Don't know

2.2 User Data & Profile Management

Q2.9: Do users need to be able to:

  • [ ] View their profile
  • [ ] Edit their profile
  • [ ] Delete their account
  • [ ] Change password
  • [ ] Update email
  • [ ] Upload profile picture
  • [ ] None of the above

Q2.10: Should user data from Piano sync to your backend database?

  • [ ] Yes, immediately after login/signup
  • [ ] Yes, periodically (how often: _______)
  • [ ] No, use Piano as source of truth
  • [ ] Don't know

Q2.11: Where should user data be stored?

  • [ ] Piano only
  • [ ] Your backend database only
  • [ ] Both Piano and backend (synced)
  • [ ] Don't know - recommend best practice

2.3 Advanced Piano Features

Q2.12: Do you need Piano paywall/subscription features?

  • [ ] Yes, users need to subscribe/pay
  • [ ] No, free access only
  • [ ] Maybe in future
  • [ ] Don't know

Q2.13: If subscriptions are needed, what payment providers?

  • [ ] Stripe
  • [ ] PayPal
  • [ ] Piano handles payment
  • [ ] Other: ___________________
  • [ ] Not applicable

Q2.14: Do you need Piano's analytics tracking?

  • [ ] Yes, track user behavior
  • [ ] Yes, track content access
  • [ ] Yes, track conversions
  • [ ] No analytics needed
  • [ ] Don't know

Q2.15: Do you need Piano's A/B testing capabilities?

  • [ ] Yes
  • [ ] No
  • [ ] Maybe in future
  • [ ] Don't know what this is

Section 3: HubSpot Integration

3.1 HubSpot Current State

Q3.1: Is HubSpot already integrated in your application?

  • [ ] Yes, fully working
  • [ ] Yes, partially working
  • [ ] Yes, but broken
  • [ ] No, needs to be integrated
  • [ ] Don't know

Q3.2: What HubSpot products are you using?

  • [ ] HubSpot Marketing Hub (Free/Starter/Professional/Enterprise)
  • [ ] HubSpot Sales Hub
  • [ ] HubSpot Service Hub
  • [ ] HubSpot CMS
  • [ ] HubSpot Operations Hub
  • [ ] Don't know

Q3.3: Can you provide access to:

  • [ ] HubSpot portal/dashboard
  • [ ] HubSpot Portal ID
  • [ ] HubSpot API key (for backend)
  • [ ] HubSpot tracking code
  • [ ] Existing HubSpot integration code (if any)

Q3.4: What is your HubSpot Portal ID?

Portal ID: _________________________________
(Found in HubSpot Settings > Account & Billing)

3.2 HubSpot Data Requirements

Q3.5: What user data should be sent to HubSpot after Piano login/signup?

  • [ ] Email
  • [ ] First Name
  • [ ] Last Name
  • [ ] Phone
  • [ ] Company
  • [ ] Job Title
  • [ ] Piano User ID
  • [ ] Signup Date
  • [ ] Subscription Status
  • [ ] Custom properties: ___________________

Q3.6: When should user data be sent to HubSpot?

  • [ ] Immediately after signup
  • [ ] Immediately after login
  • [ ] After email verification
  • [ ] Only after first purchase/subscription
  • [ ] Other: ___________________

Q3.7: What events should be tracked in HubSpot?

  • [ ] User Signup
  • [ ] User Login
  • [ ] User Logout
  • [ ] Profile Update
  • [ ] Password Reset
  • [ ] Content Access
  • [ ] Subscription Created
  • [ ] Payment Completed
  • [ ] Page Views
  • [ ] Custom events: ___________________

Q3.8: Do you have custom HubSpot properties already created?

  • [ ] Yes (provide list): ___________________
  • [ ] No, need to create them
  • [ ] Don't know

Q3.9: Should existing contacts in HubSpot be updated when they login?

  • [ ] Yes, update every login
  • [ ] Yes, but only certain fields
  • [ ] No, don't update existing contacts
  • [ ] Don't know

Q3.10: Do you need HubSpot forms embedded in the application?

  • [ ] Yes (for what: ___________________)
  • [ ] No
  • [ ] Don't know

3.3 HubSpot Workflows & Automation

Q3.11: Do you have HubSpot workflows that trigger based on user actions?

  • [ ] Yes (describe): ___________________
  • [ ] No
  • [ ] Plan to create them
  • [ ] Don't know

Q3.12: Should certain actions trigger HubSpot emails?

  • [ ] Yes, welcome email after signup
  • [ ] Yes, verification email
  • [ ] Yes, password reset email
  • [ ] Yes, other: ___________________
  • [ ] No, emails handled elsewhere
  • [ ] Don't know

Q3.13: Do you need email marketing features?

  • [ ] Yes, users can subscribe to newsletter
  • [ ] Yes, users can manage email preferences
  • [ ] No
  • [ ] Don't know

Section 4: Piano + HubSpot Synchronization

Q4.1: Should Piano and HubSpot data stay in sync?

  • [ ] Yes, real-time sync
  • [ ] Yes, sync every X minutes: _____
  • [ ] Yes, sync once daily
  • [ ] No sync needed
  • [ ] Don't know

Q4.2: If Piano user data changes, should it update HubSpot?

  • [ ] Yes, automatically
  • [ ] Yes, but only certain fields
  • [ ] No
  • [ ] Don't know

Q4.3: If HubSpot contact data changes, should it update Piano?

  • [ ] Yes, automatically
  • [ ] Yes, but only certain fields
  • [ ] No
  • [ ] Don't know

Q4.4: What happens if sync fails?

  • [ ] Retry automatically
  • [ ] Log error and alert admin
  • [ ] Show error to user
  • [ ] Other: ___________________
  • [ ] Don't know - recommend best practice

Section 5: Existing Application Details

5.1 Technology Stack

Q5.1: What is your frontend technology?

  • [ ] React.js (version: _____)
  • [ ] Next.js
  • [ ] Vue.js
  • [ ] Angular
  • [ ] Plain JavaScript/HTML
  • [ ] Other: ___________________

Q5.2: What is your backend technology?

  • [ ] Node.js (Express/Nest.js/Other: _____)
  • [ ] Python (Django/Flask/FastAPI/Other: _____)
  • [ ] PHP (Laravel/Symfony/Other: _____)
  • [ ] Java (Spring/Other: _____)
  • [ ] .NET/C#
  • [ ] Ruby on Rails
  • [ ] Other: ___________________
  • [ ] No backend (frontend only)

Q5.3: What database are you using?

  • [ ] PostgreSQL
  • [ ] MySQL
  • [ ] MongoDB
  • [ ] Firebase
  • [ ] Other: ___________________
  • [ ] None

Q5.4: Do you have a user authentication system already?

  • [ ] Yes, fully functional (technology: _______)
  • [ ] Yes, but replacing with Piano
  • [ ] Yes, and Piano will be additional option
  • [ ] No, Piano will be the first auth system

Q5.5: State management library (if React/Vue):

  • [ ] Redux
  • [ ] Context API
  • [ ] MobX
  • [ ] Zustand
  • [ ] None
  • [ ] Other: ___________________

5.2 Access & Environment

Q5.6: Can you provide access to:

  • [ ] Source code repository (GitHub/GitLab/Bitbucket)
  • [ ] Development environment
  • [ ] Staging environment
  • [ ] Production environment (read-only)
  • [ ] API documentation
  • [ ] Database schema

Q5.7: Do you have separate environments?

  • [ ] Development
  • [ ] Staging/QA
  • [ ] Production
  • [ ] Only production

Q5.8: Where is the application hosted?

  • [ ] AWS
  • [ ] Google Cloud
  • [ ] Azure
  • [ ] Vercel
  • [ ] Netlify
  • [ ] Heroku
  • [ ] Other: ___________________
  • [ ] On-premise servers

Q5.9: Who will handle deployment?

  • [ ] Your team
  • [ ] Our team (us - the developers)
  • [ ] DevOps/Third party
  • [ ] Don't know yet

Section 6: Security & Compliance

Q6.1: Do you need to comply with data protection regulations?

  • [ ] GDPR (Europe)
  • [ ] CCPA (California)
  • [ ] HIPAA (Healthcare)
  • [ ] Other: ___________________
  • [ ] Not sure
  • [ ] No specific requirements

Q6.2: Do you need cookie consent management?

  • [ ] Yes, for GDPR compliance
  • [ ] Yes, for other reasons
  • [ ] No
  • [ ] Not sure

Q6.3: What data privacy features are needed?

  • [ ] Cookie consent banner
  • [ ] Privacy policy link
  • [ ] Terms of service acceptance
  • [ ] Right to deletion (delete account)
  • [ ] Data export (download user data)
  • [ ] Opt-out of tracking
  • [ ] Other: ___________________

Q6.4: Do you have existing security requirements?

  • [ ] SSL/HTTPS only
  • [ ] Two-factor authentication
  • [ ] Password complexity rules
  • [ ] Session encryption
  • [ ] IP whitelisting
  • [ ] Rate limiting
  • [ ] Other: ___________________

Q6.5: Are there any compliance audits or certifications needed?

  • [ ] SOC 2
  • [ ] ISO 27001
  • [ ] PCI DSS (if handling payments)
  • [ ] Other: ___________________
  • [ ] No

Q6.6: Do you need security penetration testing?

  • [ ] Yes, by our team
  • [ ] Yes, by third party
  • [ ] No
  • [ ] Don't know

Section 7: User Experience & Design

Q7.1: Do you have design mockups/wireframes for:

  • [ ] Login page
  • [ ] Signup page
  • [ ] Profile page
  • [ ] Password reset flow
  • [ ] Loading states
  • [ ] Error states
  • [ ] None - we need designs created

Q7.2: Should the Piano iframe match your application's design?

  • [ ] Yes, must look seamless (provide brand guidelines)
  • [ ] Yes, basic matching
  • [ ] No, Piano's default design is fine
  • [ ] Not sure if this is possible

Q7.3: Do you have brand guidelines to follow?

  • [ ] Yes (can provide)
  • [ ] No

Q7.4: What should happen during loading?

  • [ ] Show loading spinner
  • [ ] Show skeleton UI
  • [ ] Show custom animation
  • [ ] Nothing special
  • [ ] Other: ___________________

Q7.5: How should errors be displayed?

  • [ ] Inline error messages
  • [ ] Toast/notification messages
  • [ ] Modal popups
  • [ ] Dedicated error page
  • [ ] Other: ___________________

Q7.6: Mobile responsiveness required?

  • [ ] Yes, must work on all devices
  • [ ] Desktop only
  • [ ] Don't know

Q7.7: Accessibility requirements (WCAG)?

  • [ ] WCAG 2.1 Level A
  • [ ] WCAG 2.1 Level AA
  • [ ] WCAG 2.1 Level AAA
  • [ ] No specific requirements
  • [ ] Don't know what this means

Section 8: Testing & Quality Assurance

Q8.1: What level of testing is required?

  • [ ] Unit tests
  • [ ] Integration tests
  • [ ] End-to-end tests
  • [ ] Manual testing only
  • [ ] No testing required (not recommended)

Q8.2: What browsers must be supported?

  • [ ] Chrome (latest)
  • [ ] Firefox (latest)
  • [ ] Safari (latest)
  • [ ] Edge (latest)
  • [ ] Internet Explorer 11 (legacy)
  • [ ] Mobile browsers (iOS Safari, Chrome Mobile)
  • [ ] All modern browsers

Q8.3: Who will perform QA testing?

  • [ ] Your QA team
  • [ ] Our team
  • [ ] Third party
  • [ ] No formal QA

Q8.4: Do you need a testing environment?

  • [ ] Yes, separate staging server
  • [ ] Yes, can use production with test accounts
  • [ ] No

Q8.5: What is your User Acceptance Testing (UAT) process?

Describe: _________________________________
OR
[ ] No formal UAT process

Section 9: Documentation & Training

Q9.1: What documentation do you need?

  • [ ] Technical documentation for developers
  • [ ] API documentation
  • [ ] User guide/manual
  • [ ] Admin guide
  • [ ] Deployment guide
  • [ ] Troubleshooting guide
  • [ ] Code comments only
  • [ ] No documentation needed

Q9.2: Do you need training for your team?

  • [ ] Yes, for developers
  • [ ] Yes, for admins
  • [ ] Yes, for end users
  • [ ] No training needed

Q9.3: Documentation format preference:

  • [ ] Markdown files
  • [ ] PDF documents
  • [ ] Video tutorials
  • [ ] Wiki/Confluence
  • [ ] In-code comments only
  • [ ] No preference

Section 10: Project Scope & Timeline

Q10.1: What is NOT included in this project? (Out of scope)

List features/tasks that are explicitly NOT part of this project:
_________________________________
_________________________________
_________________________________

Q10.2: What features are "Must Have" (cannot launch without)?

List critical features:
1. _________________________________
2. _________________________________
3. _________________________________

Q10.3: What features are "Nice to Have" (can be added later)?

List optional features:
1. _________________________________
2. _________________________________
3. _________________________________

Q10.4: When do you need this project completed?

Target deadline: _________________________________
Is this deadline flexible? [ ] Yes [ ] No

Q10.5: Are there any hard deadlines we must meet?

Example: Product launch date, compliance deadline, etc.
_________________________________

Q10.6: How many developers will work on this from your side?

  • [ ] 0 (only external team)
  • [ ] 1 developer
  • [ ] 2-3 developers
  • [ ] More than 3
  • [ ] Don't know yet

Section 11: Support & Maintenance

Q11.1: After launch, who will maintain the integration?

  • [ ] Your in-house team
  • [ ] Our team (ongoing contract)
  • [ ] Third party
  • [ ] To be decided

Q11.2: Do you need post-launch support?

  • [ ] Yes, X months: _____
  • [ ] Yes, ongoing monthly retainer
  • [ ] No, handoff after completion
  • [ ] To be decided

Q11.3: Do you need monitoring/alerting setup?

  • [ ] Yes, for errors
  • [ ] Yes, for performance
  • [ ] Yes, for security
  • [ ] No
  • [ ] Don't know

Q11.4: How should critical issues be handled post-launch?

Contact method: _________________________________
Response time expectation: _________________________________

Section 12: Budget & Priorities

Q12.1: What is your budget for this project?

  • [ ] Fixed budget: $_____
  • [ ] Hourly rate: $_____ (max hours: _____)
  • [ ] Flexible, need estimate
  • [ ] Prefer not to disclose

Q12.2: What is more important to you? Rank 1-3 (1=most important):

  • [ ] Cost (staying within budget)
  • [ ] Speed (fast delivery)
  • [ ] Quality (best practices, testing, security)

Q12.3: If we exceed the timeline, would you prefer:

  • [ ] Extend deadline to maintain quality
  • [ ] Reduce scope to meet deadline
  • [ ] Increase budget for more resources
  • [ ] To be decided when needed

Q12.4: Are there any cost constraints we should know about?

Answer: _________________________________

Section 13: Communication & Workflow

Q13.1: How often do you want progress updates?

  • [ ] Daily
  • [ ] Every 2-3 days
  • [ ] Weekly
  • [ ] Bi-weekly
  • [ ] Only at milestones

Q13.2: Preferred communication channel:

  • [ ] Email
  • [ ] Slack
  • [ ] Microsoft Teams
  • [ ] Phone calls
  • [ ] Video meetings
  • [ ] Project management tool: ___________________

Q13.3: Who is the primary point of contact?

Name: _________________________________
Role: _________________________________
Email: _________________________________
Availability: _________________________________

Q13.4: Who are the decision makers for:

Technical decisions: _________________________________
Design decisions: _________________________________
Budget decisions: _________________________________
Timeline decisions: _________________________________

Q13.5: How should we handle change requests during development?

  • [ ] Pause work and re-estimate
  • [ ] Document and handle after initial scope
  • [ ] Add to backlog for Phase 2
  • [ ] Discuss case-by-case
  • [ ] Other: ___________________

Q13.6: Do you use project management tools?

  • [ ] Jira
  • [ ] Asana
  • [ ] Trello
  • [ ] Monday.com
  • [ ] GitHub Projects
  • [ ] Other: ___________________
  • [ ] No, prefer email/Slack

Section 14: Risks & Constraints

Q14.1: Are there any technical constraints we should know about?

Examples: Legacy code, old frameworks, specific libraries to use, etc.
_________________________________

Q14.2: Are there any business constraints?

Examples: Seasonal traffic, upcoming campaigns, regulatory deadlines, etc.
_________________________________

Q14.3: What are the biggest risks you see for this project?

Your concerns:
1. _________________________________
2. _________________________________
3. _________________________________

Q14.4: Have you had similar integration projects before?

  • [ ] Yes, successful
  • [ ] Yes, had issues (describe): ___________________
  • [ ] No, first time

Q14.5: Is there anything else we should know?

Any other important information:
_________________________________
_________________________________
_________________________________

Section 15: Sign-Off & Agreement

Q15.1: Who needs to approve:

Technical specifications: _________________________________
Design mockups: _________________________________
Final deliverable: _________________________________

Q15.2: What defines "project completion"?

  • [ ] All features working on production
  • [ ] Successful UAT
  • [ ] Passed security audit
  • [ ] Documentation delivered
  • [ ] Training completed
  • [ ] X weeks of stable operation
  • [ ] Other: ___________________

Q15.3: How will we handle disagreements about requirements?

  • [ ] Client has final say
  • [ ] Developer recommends, client decides
  • [ ] Escalate to project manager
  • [ ] Other: ___________________

📝 Next Steps After Completing This Questionnaire

  1. Review Answers Together

    • Schedule call to discuss answers
    • Clarify any unclear responses
    • Identify gaps in requirements
  2. Create Detailed Specification Document

    • Based on your answers
    • With technical architecture
    • Including timeline and cost estimate
  3. Define Statement of Work (SOW)

    • Clear deliverables
    • Timeline with milestones
    • Payment terms
    • Change request process
  4. Get Written Approval

    • Sign-off on specifications
    • Agree on timeline
    • Approve budget
  5. Begin Development

    • With clear scope
    • No surprises
    • Regular communication

⚠️ Important Notes

  1. "I don't know" is a valid answer - We'll help you figure it out, but it may affect timeline/cost
  2. Be specific - Vague answers like "make it work" or "the usual" can lead to misunderstandings
  3. Think about the future - Consider what might be needed in 6-12 months
  4. Prioritize ruthlessly - Not everything can be "high priority"
  5. Budget reality - More features = more time = higher cost

Document Prepared By: _________________________________
Date: _________________________________
Client Name: _________________________________
Project Name: Piano + HubSpot Integration


📧 Submission

Please complete this questionnaire and send to:

  • Email: your-email@company.com
  • Deadline: _________________________________

If you have questions while filling this out, contact:

  • Name: _________________________________
  • Email: _________________________________
  • Phone: _________________________________

Thank you for your time in completing this questionnaire!
This will ensure a smooth, successful project with no surprises.