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?
- [ ] 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:
- [ ] 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
-
Review Answers Together
- Schedule call to discuss answers
- Clarify any unclear responses
- Identify gaps in requirements
-
Create Detailed Specification Document
- Based on your answers
- With technical architecture
- Including timeline and cost estimate
-
Define Statement of Work (SOW)
- Clear deliverables
- Timeline with milestones
- Payment terms
- Change request process
-
Get Written Approval
- Sign-off on specifications
- Agree on timeline
- Approve budget
-
Begin Development
- With clear scope
- No surprises
- Regular communication
⚠️ Important Notes
- "I don't know" is a valid answer - We'll help you figure it out, but it may affect timeline/cost
- Be specific - Vague answers like "make it work" or "the usual" can lead to misunderstandings
- Think about the future - Consider what might be needed in 6-12 months
- Prioritize ruthlessly - Not everything can be "high priority"
- 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.