Marketing has a number.
It just cannot see it yet.
Boustead Geospatial creates roughly 962 new-logo opportunities a year. Marketing can prove its hand in a quarter of them. One hop in the chain is the reason.
Attribution does not fade. It falls off a cliff.
Read live from the portal on 18 August. Solid is what carries a campaign, hatched is what does not.
What marketing can honestly own
The board KPI says influenced pipeline and every campaign report says TBC, because the target was never bounded. Bound it and the number becomes defensible.
per year
Worked by a separate team on their own opportunity types. A reliable filter already exists.
Marketing cannot claim to have created these, but it can prove it moved them.
The other 720 arrive as opportunities carrying no campaign at all.
Three claims, measured at the account
Marketing, sales and the executive each use these words differently. These are the definitions to standardise on, and the system test that makes each one settleable rather than debatable.
Marketing sourced
The account had no prior relationship with the group when marketing first engaged it, and a new-logo opportunity followed. This is creation, and marketing takes full credit.
+ campaign touch before opportunity
Marketing influenced
A known account, with repeated engagement from more than one person while an opportunity was open. Partial credit for movement, never for creation. Single or out-of-cycle touches do not qualify.
inside the opportunity open window
New logo
A new Salesforce account, including a new department of an organisation already known to the group. Sales operations confirmed this on 13 August, which settles the disagreement that ran through every workshop.
regardless of parent
The chain holds, until it doesn't
Read only against the live portal on 18 August. Every figure is Boustead Geospatial's own data. This is not a failure of the marketing team; it is a set of connections nobody has been positioned to see end to end.
One hop loses everything. Campaign identity survives all the way to the enquiry and dies the moment a lead becomes an opportunity. Fix that hop and marketing's number exists. Nothing else in this document matters more.
Who was actually in the room?
Every dot is ten opportunities created in the last twelve months. The hollow ones have no contact attached at all, so no marketing engagement can ever be connected to them, at any grain.
no contact at all
A further 45 per cent carry exactly one. Buying-committee attribution at opportunity grain is not conservative on this data, it is arithmetically impossible. Measuring at the account is the only honest choice, and it happens to match how the business sells.
What else the audit turned up
Deal values are not currency safe
Indonesian opportunity values carry rupiah amounts labelled as Australian dollars, so any group revenue figure from HubSpot is wrong by orders of magnitude. It is why this deck quotes counts, not dollars.
No sales activity reaches HubSpot
Calls, meetings and tasks logged in Salesforce never arrive. The account engagement score correlates marketing signal with sales signal, so half that calculation has no source.
Account hierarchy does not sync
The head office and side office structure that decides which account a deal belongs to is empty on every deal. Account-grain rollup cannot be assembled without it.
Enquiry source fields never populated
Lead source, lead type, data source and customer type are all defined with full picklists, and all empty. The new-versus-existing signal everyone assumed was there is not.
Partner chain breaks at handoff
Malaysian and Indonesian leads passed to partners are terminated in Salesforce and nothing returns. Marketing staff chase partners by hand for status.
What is already working
Deal type is clean. The legacy labels have not been used in over a year, 93 per cent of live opportunities carry a proper Land, Adopt, Expand or Renew value, and the industry field is populated across twelve verticals.
One layer that reads everything
The group already owns the pieces. What is missing is something that reads across them, computes influence at the account, and writes the answer back where each team already works.
It writes through its own connections, so it does not depend on a change to the existing middleware and delivery can begin immediately. Snowflake stays read only and remains the group's system of record. Nothing here competes with the existing data programme; it consumes it.
One platform, two surfaces
The marketing surface is built first because it is what Stage 1 was commissioned to solve and it depends on nothing outside this scope. The sales surface follows once the group's own AI governance has cleared it.
Marketing reporting
The number and everything behind it. Sourced and influenced by market, campaign, vertical and period, with deal velocity, and renewals excluded by rule rather than by hand.
- Sourced, influenced and MQL reporting at account grain
- Campaign identity restored through the conversion hop
- Currency normalisation so group values can be trusted
- Flags written back into HubSpot and Salesforce
Sales account intelligence
The same platform, a different window. Search an account and see what it is engaging with right now, so a conversation starts from evidence instead of a lead list.
- Account-level engagement, never contact level without consent
- Live view of the content and topics an account is reading
- High-intent alerting into the account readiness score
- Partner deal registration writing back to the pipeline
What we will and will not do
In scope
- The reporting layer, hosted, monitored and supported
- Salesforce and HubSpot field creation and write-back
- The metric glossary, ratified and implemented as code
- A specification sales operations can build Power BI from
- Handover documentation and team training
Not in scope
- Changes to the existing HubSpot to Salesforce middleware
- The Salesforce replatform, or any dependency on its timing
- Building or operating Power BI dashboards
- Cleansing historic records before the twelve-month window
- Anything requiring contact-level engagement without consent
Built once, owned by you
Build
The reporting layer, the account-grain influence model, currency normalisation, write-back into both systems, the Power BI specification, and handover. Fixed fee, invoiced against milestones.
Run · 12 months
Hosting, monitoring, maintenance, support, and any change to definitions as the business agrees them. Annualised, reviewed at renewal, never automatic.
Sales surface
Quoted so the full picture is visible, committed only when your AI governance has cleared it. Nothing in the marketing build depends on that decision.
How you leave, if you ever want to
The group has spent the last year unable to migrate a system it already owns the code to, with no access to the logs and a two-day wait for answers during an incident. That is not repeated here, so the exit is written into the engagement rather than negotiated at the end of it.
- You own the source code and the data model from the first commit. Not on completion, not on final payment.
- Read access to logs, database and monitoring from day one, for anyone you nominate.
- On request, a documented handover onto your own infrastructure, fixed timeline, named engineer, at cost.
- No exit fee, no data ransom, no dependency on us continuing to hold anything.
Two decisions, then we build
Both need a person to rule rather than a system to change, and both are quick.
Ratify the three definitions
Christina and Ravi sign off M-01, M-02 and M-03. Nothing can be built consistently until one version wins, and sales operations already settled the hardest of the three on 13 August.
Name the owner of the number
One person accountable for the marketing influence definition across all five markets, so it holds once teams report against it.
Service access
A read and write integration user for Salesforce and Snowflake. Sales operations, not the service desk, is the fastest route.
Build, then reconcile
The influence model and the first working number, then Jamie and Steve confirm it reconciles to what leadership already trusts. If marketing's number and sales' number disagree, marketing's number is worthless, so this step is not optional.