Consultation quote calculator

Umitech Logo

Try a next-level consultation to gain clarity and direction.

Answer a few questions and we'll create a customized estimate for your consultation needs. See your estimate update in real-time as you select options. Request an accurate free quote after completing the steps.

What area requires consultation?

Select the primary focus for our discussion and analysis

Web Strategy & Roadmap

Define online goals, target audience, and digital growth plan

Technical SEO Audit

Analyze website health for search engine visibility issues

UX/UI Website Review

Assess user experience, navigation, and interface design

Performance Analysis

Identify bottlenecks affecting website speed and loading times

E-commerce Strategy

Guidance on platform selection, conversion optimization, and growth

Security Review

Assess website security posture and best practices

API & Integration Planning

Strategic advice on connecting systems and data flow

Custom Consultation

Specific web/digital challenges not listed above

Tell us about the project context

These details help us understand the scope and complexity involved

What is the estimated complexity or duration for this consultation?

Quick Review

(Focused scope, ~1-2 hrs)

Standard Project

(Defined scope, ~3-5 hrs)

Deep Dive Analysis

(Complex scope, 6+ hrs)

Ongoing Advisory

(Retainer based)

Which specific areas will be the primary focus?

Select all that apply (helps tailor the consultation)

Website Performance

User Experience (UX/UI)

SEO & Content Strategy

E-commerce Optimization

API & Integrations

Security Practices

Consultation Deliverables & Follow-up

Specify the desired format for findings and any follow-up needed

What deliverable format do you prefer?

How should we present the consultation findings and recommendations?

Summary Report

(Key findings & actions)

Detailed Audit

(In-depth analysis)

$250

Presentation & Report

(Walkthrough + docs)

$350

Note: Prices shown are additive to the base consultation cost.

What level of follow-up support is needed?

Clarify findings or discuss next steps after the initial consultation.

Email Q&A

(Basic clarifications)

Follow-up Call (1hr)

(Detailed discussion)

$150

*Basic email Q&A allows for brief clarification questions on the provided report.

Note: Follow-up call provides a dedicated hour to discuss findings, answer questions, and explore next steps in detail.

Select Consultation Activities

Choose specific activities to include in the consultation scope. Initial Discovery Call is included free. (Price per activity)

FREE

Initial Discovery Call

Stakeholder Interviews

Analytics Data Analysis

Competitor Review

Technical Assessment

Heuristic Evaluation

Wireframing Session

Requirements Gathering

Platform/Tool Evaluation

Workshop Facilitation

Custom Activity

What level of consultation depth is required?

Choose the strategic depth and analytical rigor for the consultation

Do you have existing documentation or data relevant to this consultation?

(e.g., Previous audits, analytics access, requirements documents)

Yes

No / Limited

Select the overall consultation depth level

Standard Overview

High-level analysis and key recommendations

Comprehensive Analysis

In-depth investigation with detailed findings

Strategic Roadmap

Deep analysis plus prioritized action plan & forecasting

Optional Consultation Add-ons

Select extra services to enhance the consultation value (select all that apply)

Additional Q&A Hour

Extend discussion time beyond standard follow-up

Implementation Plan Outline

High-level steps for acting on recommendations

Team Training Session (1.5hr)

Knowledge transfer on specific tools or concepts

Post-Consultation Check-in

Follow-up call (30min) after 1-2 months

Priority Email Support

Faster response time for email Q&A (1 week)

Custom Report Visuals

Enhanced charts & graphics in report

Ongoing Advisory & Support

Maintain momentum with periodic expert guidance

How familiar are you with implementing technical/strategic website changes?

(e.g., Modifying CMS settings, interpreting analytics, SEO adjustments)

Very Comfortable

Some Knowledge

Beginner / Need Help

Choose an ongoing advisory plan (Optional Monthly/Quarterly Retainer)

No Plan (Consultation Only)

You handle all ongoing implementation & monitoring

Monthly Advisory Check-in

Brief progress review & guidance

$250/month

Quarterly Strategy Review

In-depth review & forward planning

$600/quarter

Consultation Timeline

When do you need the consultation completed and deliverables ready?

Standard

Typical timeframe (1-1.5 weeks)

Flexible

Extended timeframe (3+ weeks)

Almost There!

Let us know how to reach you with your customized consultation quote

Calculating Your Estimate

Please wait while we tailor your consultation estimate...

Analyzing consultation focus & activities
Considering scope, depth & deliverables
Factoring in timeline & support
Generating your estimate

Consultation Estimate

Generated:

From:
Umitech
[email protected]
ABN: 69322477658
Homepage
Prepared For:
Client Name [email protected]

Estimate Breakdown

Description
Cost
Estimated total: $0

Notes & Next Steps

This estimate is based on your selections in the calculator for the desired consultation scope. It is subject to review and confirmation upon our initial Discovery Call to fully understand your specific challenges and objectives.

Payment terms: For consultations & add-ons: Payment is typically required upfront upon acceptance of the formal quote. For ongoing advisory retainers: Billed monthly or quarterly in advance as specified. We accept credit cards, debit cards, bank transfers and Afterpay.

Frequently Asked Questions

How accurate is this consultation estimate?

This calculator provides a solid estimate based on the typical scope and activities for different consultation types. The final quote may be adjusted after our initial Discovery Call, where we'll confirm the specific requirements, complexity, and required access to data or systems. We'll provide a detailed, fixed-price quote following that call.

What's included in the consultation price?

The estimate covers the consultant's time for preparation, the consultation session(s) itself (discovery call, interviews, analysis, etc., based on your selections), and the creation of the agreed-upon deliverables (e.g., report, presentation). Specific activities included are based on your selections in the 'Consultation Activities' and 'Optional Add-ons' steps.

What does the timeline estimate cover?

The timeline refers to the estimated duration from project kick-off (after quote acceptance and discovery call) to the delivery of the final consultation report or presentation. It depends on the selected complexity, activities, and your timely provision of necessary information or access. Expedited timelines require prompt communication and collaboration.

Are implementation services included?

This calculator focuses solely on the consultation and advisory services. Actually implementing the recommendations (e.g., making code changes, setting up SEO, redesigning pages) is a separate service. We can provide a quote for implementation work based on the consultation findings if desired.

What happens after I click "Request Formal Quote"?

We receive your selected options and contact details. Our team will review your request and typically follow up via email within 1 business day. We'll schedule the free Initial Discovery Call to discuss your specific situation, confirm the scope, and answer any questions before sending a formal, tailored quote for the consultation.

Thank You!

Your consultation quote request has been sent successfully. We'll be in touch soon to schedule your Discovery Call!

Estimated Price: $0
Start
Focus
Context
Output
Activities
Depth
Add-ons
Advisory
Timeline
Contact
Estimate
Done
`; return html; },/** * Generate user email HTML for Consultation services */ generateUserEmailHtml: function(type = 'quote') { // Default type 'quote' for confirmation const cd = this.state.selections.contactDetails || {}; const totalPrice = `$${this.state.totalPrice.toLocaleString()} AUD`; const currentYear = new Date().getFullYear();let title, intro, mainContent, ctaText, ctaLink;if (type === 'quote') { title = "Consultation Quote Request Received!"; intro = `Thanks for requesting a consultation quote, ${cd.name || 'there'}! We've received your preliminary selections.`; mainContent = `

We're reviewing the details you provided about your consultation needs. The next step is our complimentary Initial Discovery Call (~30 mins).

This short call allows us to understand your specific challenges and goals better, ensuring the formal quote we provide is perfectly tailored.

Expect an email from our team within 1 business day to schedule this call at your convenience. We look forward to connecting!

Your preliminary estimate based on selections is: ${totalPrice}. This will be confirmed after the Discovery Call.

`; ctaText = "Visit Umitech"; ctaLink = "https://umitech.com.au"; } else { // Fallback for 'calculate' or other types title = "Your Umitech Consultation Estimate"; intro = `Thank you for using our consultation quote calculator, ${cd.name || 'there'}! Here's a summary of your selections.`; mainContent = `

Based on the options you selected, we've generated the following estimate: ${totalPrice}.

This estimate provides a starting point. To get a formal, fixed-price quote and discuss your project in detail, please click the "Request Formal Quote" button on the calculator's summary page. This will prompt us to schedule the essential Initial Discovery Call.

`; ctaText = "Return to Calculator"; // Link back to the calculator page (Update URL if needed) ctaLink = window.location.href; // Use current page URL as a fallback }const html = `${title}
Umitech Logo

${title}

Hi ${cd.name || 'there'},

${intro}

${mainContent}
${ctaText}

Best regards,

The Umitech Team

© ${currentYear} Umitech | umitech.com.au | ABN: 69322477658

`; return html; },// --- Populating Invoice Details --- // --- generateQuoteBreakdown and populateInvoiceDetails remain unchanged --- /** * Populate Invoice Header and Generate Breakdown Items for Consultation */ populateInvoiceDetails: function() { try { // Populate Header (Client Info, Date) if (this.elements.invoiceDateEl) { this.elements.invoiceDateEl.textContent = new Date().toLocaleDateString(); } const cd = this.state.selections.contactDetails || {}; if (this.elements.invoiceClientNameEl) { this.elements.invoiceClientNameEl.innerHTML = `${cd.name || 'N/A'}`; } if (this.elements.invoiceClientEmailEl) { this.elements.invoiceClientEmailEl.textContent = cd.email || 'N/A'; } if (this.elements.invoiceClientPhoneEl) { let phoneText = ''; if (cd.phone) { phoneText = `${cd.countryCode || ''} ${cd.phone}`; } this.elements.invoiceClientPhoneEl.textContent = phoneText; // Show only if phone exists this.elements.invoiceClientPhoneEl.style.display = phoneText ? 'block' : 'none'; }// Generate Breakdown Items for the invoice body this.generateQuoteBreakdown();} catch (error) { console.error('Error populating consultation invoice details:', error); } },/** * Generate breakdown items for the quote summary page (consultation version) */ generateQuoteBreakdown: function() { try { if (!this.elements.breakdownItems) return; this.elements.breakdownItems.innerHTML = ''; // Clear previous items// Helper function to create a single breakdown item row const createBreakdownItem = (label, price, isSubItem = false, isBoldPrefix = false, key = '') => { // Determine if the item should be shown const baseServiceKey = 'project-type'; const discoveryCallValue = 'strategy-consultation'; // Show if price is non-zero, OR it's the free discovery call, OR it's the base service, OR it's explicitly requested (future use?) const shouldShow = (typeof price === 'number' && price !== 0) || (key === 'pages' && label === 'Initial Discovery Call') || (key === baseServiceKey && typeof price === 'number'); // Show base even if $0if (!shouldShow) return; // Don't render if not applicableconst item = document.createElement('div'); item.className = 'uq-invoice-item';// Format price let priceString = `$${Math.abs(price).toLocaleString()}`; if (price < 0) priceString = `-${priceString}`; else if (price === 0 && (label === 'Initial Discovery Call')) priceString = 'Included'; else if (price === 0 && key === baseServiceKey) priceString = '$0'; // Explicitly show $0 for base// Format label let labelHtml = label; if (isBoldPrefix) { const parts = label.split(':'); labelHtml = (parts.length > 1) ? `${parts[0]}: ${parts.slice(1).join(':').trim()}` : `${label}`; }item.innerHTML = `
${labelHtml}
${priceString}
`; this.elements.breakdownItems.appendChild(item); };// Helper function to create items from a multi-select array const createMultiItems = (key) => { const sel = this.state.selections[key]; if (sel && Array.isArray(sel)) { sel.forEach(item => { let label = item.name; // Ensure correct label for the free call if needed if (item.value === 'strategy-consultation' && key === 'pages') label = 'Initial Discovery Call'; createBreakdownItem(label, item.price, true, false, key); // Pass key }); } };// Helper function to create an item from a single-select object const createSingleItem = (key, labelPrefix = '', showZero = false) => { const sel = this.state.selections[key]; if (sel && typeof sel === 'object' && !Array.isArray(sel)) { // Only add if price isn't 0 OR showZero is true OR it's the base service const isBase = key === 'project-type'; if (sel.price !== 0 || showZero || isBase) { let label = `${labelPrefix}${sel.name}`; let isBold = false; if (isBase) { label = `Focus Area: ${sel.name}`; isBold = true; } if (key === 'campaign-sophistication') { label = `Depth Level: ${sel.name}`; isBold = true; } if (key === 'marketing-retainer') { label = `Advisory Plan: ${sel.name}`; isBold = true; } if (key === 'timeline') { label = `Timeline: ${sel.name}`; isBold = true; } createBreakdownItem(label, sel.price, false, isBold, key); // Pass key } } };// --- Add items in order --- createSingleItem('project-type', '', true); // 1. Base Focus (Show even if $0) createSingleItem('campaign-scale', 'Complexity/Duration: '); // 2. Context createMultiItems('marketing-platforms'); createSingleItem('reporting-frequency', 'Deliverable: '); // 3. Output createSingleItem('analytics-setup', 'Follow-up: '); createMultiItems('pages'); // 4. Activities (Handles free call) createSingleItem('campaign-sophistication', '', false); // 5. Depth Level createMultiItems('market-research-options'); // Discovery Assistance createMultiItems('additional-features'); // 6. Add-ons createSingleItem('marketing-retainer', '', false); // 7. Advisory Plan createMultiItems('marketing-training-services'); // Implementation Training createSingleItem('timeline', '', false); // 8. Timeline// Handle empty state if (!this.elements.breakdownItems.hasChildNodes()) { this.elements.breakdownItems.innerHTML = '
No paid options selected.
'; }} catch (error) { console.error('Error generating consultation quote breakdown:', error); if (this.elements.breakdownItems) this.elements.breakdownItems.innerHTML = '
Error loading breakdown
'; } },/** * Show the dedicated Thank You page section */ showSubmissionSuccessPage: function(action) { try { const messageElement = document.getElementById('thank-you-message'); if (messageElement) { if (action === 'quote') { messageElement.innerHTML = "Your consultation quote request has been sent successfully!
We'll review your requirements and email you shortly to schedule your complimentary Discovery Call.
Please check your inbox (and spam folder)."; } else { messageElement.innerHTML = "Your request has been sent successfully.
We'll be in touch soon!"; } } this.showSection('thank-you'); if (this.elements.priceBar) this.elements.priceBar.style.display = 'none'; // Ensure bar is hidden } catch (error) { console.error('Error showing thank you page:', error); alert("Submission successful! Thank you. We will be in touch soon."); this.resetCalculator(); } },/** * Reset calculator to start a new quote */ resetCalculator: function(skipCookieClear = false) { try { console.log('Resetting consultation calculator...'); if (!skipCookieClear) { this.clearSavedData(); }// Reset state this.state.selections = {}; this.state.totalPrice = 0; this.state.activeSections = [...this.state.sectionSequence]; this.state.currentSectionIndex = 0; this.state.submissionInProgress = false;// Reset UI Elements this.elements.calculator?.querySelectorAll('.uq-option.selected').forEach(o => o.classList.remove('selected')); this.elements.contactForm?.reset(); this.elements.contactForm?.querySelectorAll('.uq-invalid-field').forEach(el => el.classList.remove('uq-invalid-field')); // Reset dropdowns to default explicitly if needed // document.getElementById('country-code')?.value = '+61'; if (this.elements.kpiInputField) this.elements.kpiInputField.value = ''; this.hideValidationMessage(); if (this.elements.breakdownItems) this.elements.breakdownItems.innerHTML = '';// Reset conditional elements & visibility this.updateConditionalSections(); this.updateStepIndicatorsVisibility();// IMPORTANT: Ensure FREE Discovery Call is re-selected this.setDefaultSelections();// Reset price, progress, nav this.calculateTotalPrice(); // Should reset price internally this.updatePriceDisplay(0); // Display $0 this.updateProgress(); // Reset progress bar/dots// Show 'welcome' section this.showSection('welcome'); // This also updates nav buttons and hides price barconsole.log('Consultation calculator reset complete.');} catch (error) { console.error('Error resetting consultation calculator:', error); alert("Error resetting the calculator. Please refresh the page."); } },/** Clear saved cookies */ clearSavedData: function() { try { document.cookie = `${this.cookies.name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax; Secure`; console.log('Cleared saved consultation quote data cookie.'); } catch (error) { console.error('Error clearing saved data:', error); } },/** Add/Remove Loading Indicator */ addLoadingIndicator: function(parent) { if (!parent) parent = this.elements.calculator.querySelector('.uq-section-active'); // Default to active section if (!parent) return; // Exit if no parent found this.removeLoadingIndicator(parent); // Prevent duplicates const loader = document.createElement('div'); loader.className = 'uq-loading'; loader.innerHTML = '
'; if (window.getComputedStyle(parent).position === 'static') parent.style.position = 'relative'; parent.appendChild(loader); }, removeLoadingIndicator: function(parent) { if (!parent) parent = this.elements.calculator; // Check within the whole calculator if no specific parent parent?.querySelector('.uq-loading')?.remove(); },/** Animate number change smoothly */ animateNumber: function(element, start, end) { if (!element) return; start = Number(start) || 0; end = Number(end) || 0;if (start === end) { element.textContent = end.toLocaleString(); return; }try { const duration = 600; let startTime = null; const step = (currentTime) => { if (!startTime) startTime = currentTime; const progress = Math.min((currentTime - startTime) / duration, 1); const easedProgress = this.easeOutCubic(progress); const currentValue = Math.round(start + easedProgress * (end - start)); element.textContent = currentValue.toLocaleString(); if (progress < 1) requestAnimationFrame(step); else element.textContent = end.toLocaleString(); // Ensure final value }; requestAnimationFrame(step); } catch (error) { console.error('Error animating number:', error); element.textContent = end.toLocaleString(); // Fallback } },/** Easing function (Cubic easing out) */ easeOutCubic: (t) => (--t) * t * t + 1,/** Debounce function to limit resize event frequency */ debounce: function(func, wait) { let timeout; return (...args) => { clearTimeout(timeout); timeout = setTimeout(() => func.apply(this, args), wait); }; } }; // End QuoteCalculator Object// --- Initialization Trigger --- // Ensure the DOM is fully loaded and ready before initializing. // This check is redundant if the script tag is at the end of the body, // but it's good practice for robustness. if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => QuoteCalculator.init()); } else { QuoteCalculator.init(); // DOM is already ready }})(); // End IIFE }); // End DOMContentLoaded Wrapper (This outer one might be redundant if the script is correctly placed, but harmless)

Questions? We got answers.

We’re your business’ best mate – handling all the heavy lifting while you focus on the big picture. From slick websites to eye-catching logos, comprehensive spreadsheets to social media that pops – Umitech can cover most business needs, regardless of how big or small your business is.

Get in touch today and receive a free quote within 24 hours.

You'll speak with a real person. No bots allowed here!

Not so fast, cowboy.

If you're leaving now, you're missing out on a huge opportunity. An opportunity with the potential to forever change your business and your revenue.

Take a step back while you're still in time. You can either:

or

If you've already made up your mind, we're sad to see you go. But if you're willing to give us a chance, your first free quote is less than 5 minutes away.